Share via


Azure Toolkit for IntelliJ로 오류 Spark 작업 디버깅(미리 보기)

이 문서에서는 Azure Toolkit for IntelliJ의 HDInsight 도구를 사용하여 Spark Failure Debug 애플리케이션을 실행하는 방법에 대한 단계별 지침을 제공합니다.

필수 조건

디버깅 템플릿으로 프로젝트 만들기

spark2.3.2 프로젝트를 만들어 실패를 계속 디버깅하고, 이 문서의 실패 작업 디버깅 샘플 파일을 가져옵니다.

  1. IntelliJ IDEA를 엽니다. 새 프로젝트 창을 엽니다.

    a. 왼쪽 창에서 Azure Spark/HDInsight를 선택합니다.

    b. 기본 창에서 오류 작업 디버깅 샘플이 있는 Spark 프로젝트(미리 보기)(Scala)를 선택합니다.

    Intellij Create a debug project.

    c. 다음을 선택합니다.

  2. 새 프로젝트 창에서 다음 단계를 수행합니다.

    Intellij New Project select Spark version.

    a. 프로젝트 이름과 프로젝트 위치를 입력합니다.

    b. Project SDK 드롭다운 목록에서 Spark 2.3.2 클러스터용 Java 1.8을 선택합니다.

    c. Spark 버전 드롭다운 목록에서 Spark 2.3.2(Scala 2.11.8)를 선택합니다.

    d. 마침을 선택합니다.

  3. src>main>scala를 선택하여 프로젝트에서 코드를 엽니다. 이 예에서는 AgeMean_Div() 스크립트를 사용합니다.

HDInsight 클러스터에서 Spark Scala/Java 애플리케이션 실행

Spark Scala/Java 애플리케이션을 만든 후 다음 단계를 수행하여 Spark 클러스터에서 애플리케이션을 실행합니다.

  1. 구성 추가를 클릭하여 실행/디버그 구성 창을 엽니다.

    HDI Intellij Add configuration.

  2. 실행/디버깅 구성 대화 상자에서 더하기 기호(+)를 선택합니다. 다음으로 HDInsight의 Apache Spark 옵션을 선택합니다.

    Intellij Add new configuration.

  3. 클러스터에서 원격으로 실행 탭으로 전환합니다. 이름, Spark 클러스터, 주 클래스 이름에 정보를 입력합니다. 이 도구는 실행기를 사용하여 디버그를 지원합니다. numExectors의 기본값은 5이며 3 이상으로 설정하지 않는 것이 좋습니다. 작업 구성spark.yarn.maxAppAttempts를 추가하고 값을 1로 설정하면 런타임을 줄일 수 있습니다. 확인 단추를 클릭하여 구성을 저장합니다.

    Intellij Run debug configurations new.

  4. 이제 사용자가 입력한 이름으로 구성이 저장됩니다. 구성 세부 정보를 보려면 구성 이름을 선택합니다. 변경하려면 구성 편집을 선택합니다.

  5. 구성 설정을 완료한 후에 원격 클러스터에 대해 프로젝트를 실행할 수 있습니다.

    Intellij Debug Remote Spark Job Remote run button.

  6. 출력 창에서 애플리케이션 ID를 확인할 수 있습니다.

    Intellij Debug Remote Spark Job Remote run result.

실패한 작업 프로필 다운로드

작업 제출에 실패한 경우 추가 디버깅을 위해 실패한 작업 프로필을 로컬 컴퓨터에 다운로드할 수 있습니다.

  1. Microsoft Azure Storage Explorer를 열어 실패한 작업에 대한 HDInsight 클러스터 계정을 찾고 해당하는 위치인 \hdp\spark2-events\.spark-failures\<application ID>에서 실패한 작업 리소스를 로컬 폴더에 다운로드합니다. 활동 창에는 다운로드 진행률이 표시됩니다.

    Azure Storage Explorer download failure.

    Azure Storage Explorer download success.

로컬 디버깅 환경 구성 및 실패 시 디버그

  1. 원래 프로젝트를 열거나 새 프로젝트를 만들고, 원래 소스 코드와 연결합니다. 현재 실패 디버깅에는 spark2.3.2 버전만 지원됩니다.

  2. IntelliJ 아이디어에서 Spark Failure Debug 구성 파일을 만들고 Spark 작업 실패 컨텍스트 위치 필드에 대해 이전에 다운로드한 실패한 작업 리소스에서 FTD 파일을 선택합니다.

    crete failure configuration.

  3. 도구 모음에서 로컬 실행 단추를 클릭하면 실행 창에 오류가 표시됩니다.

    run-failure-configuration1.

    run-failure-configuration2.

  4. 로그에서 나타나는 중단점을 설정하고 로컬 디버그 단추를 클릭하여 IntelliJ의 일반 Scala/Java 프로젝트와 마찬가지로 로컬 디버깅을 수행합니다.

  5. 디버깅 후 프로젝트가 성공적으로 완료되면 HDInsight 클러스터의 Spark에 실패한 작업을 다시 제출할 수 있습니다.

다음 단계

시나리오

애플리케이션 만들기 및 실행

도구 및 확장

리소스 관리