Spark 작업 기록을 Spark History Server로 가져오기
7787 단어 스파크CDHClouderaManager
목적
Apache Spark의 WebUI는 애플리케이션 디버깅에 매우 유용합니다.
디버깅을 위해이 웹 UI를 사용하여 프로덕션 환경에서 얻은 로그를 확인 환경에서 확인하고 싶을 수 있습니다.
취득한 이벤트의 로그를 Spark의 History Server에 건네주는 것으로, 프로덕션 환경의 이벤트 로그를 수중의 환경에서 볼 수 있어 편리합니다. (Thanks! @kmizumar )
이번은 CDH5.7의 환경에서 검증했습니다.
(2016/7/20 Cloudera의 라이센스로 로그를 취득할 수 없기 때문에 일부 기재를 변경)
환경
Hue에서 Hive on Spark로 쿼리 실행
이번 Spark를 실행한 것은 Cloudera Manager 5.7로 구축한 YARN의 환경입니다. Hive를 Spark에서 실행하려면 Hue의 Hive 쿼리 편집기에서 쿼리를 실행하기 전에 다음 옵션을 지정합니다.
set hive.execution.engine=spark
Spark 이벤트 로그 수집(Cloudera Enterprise 라이센스가 있는 경우)
Cloudera Enteprise 라이센스가 있는 경우 Cloudera Manager UI에서 이벤트 로그를 수집할 수 있습니다. (라이센스가 없으면 이벤트 로그를 직접 복사합니다. 절차는 나중에 설명합니다)
Cloudera Manager에서 YARN 애플리케이션 보기
Cloudera Manager를 사용하면 클러스터에서 실행되는 YARN(MapReduce 또는 Spark) 및 Impala 애플리케이션의 기록을 나열할 수 있습니다. 아래의 스크리샷은 YARN에서 실행된 애플리케이션을 보여줍니다.
애플리케이션의 진단 데이터 수집
방금 실행한 Hive on Spark(Spark 어플리케이션)의 진단 데이터를 우측의 메뉴로부터 취득합니다.
Cloudera 구독을 계약하는 경우 지원팀에 진단 데이터를 보낼 수도 있지만 이번에는 '진단 데이터 수집' 버튼을 클릭하여 다운로드했습니다. 결과 데이터 다운로드 버튼을 눌러 각 진단 정보와 메타데이터를 아카이브하고 다운로드합니다.
다운로드된 파일은 다음 파일입니다.
12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
로컬 환경에서 표시
다운로드 데이터를 Spark 검증 환경에 업로드
다운로드한 데이터를 로컬 Spark 환경에 업로드하고 내용을 살펴봅니다.
[kawasaki@localhost Desktop]$ unzip -l 12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
Archive: 12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
Length Date Time Name
--------- ---------- ----- ----
485 07-14-2016 00:56 arguments.json
198309 07-14-2016 00:56 YarnApplicationDiagnosticsCollection-1802.tgz
179 07-14-2016 00:56 cm_version.json
62158 07-14-2016 00:56 cm_http_instrumentation.json
53 07-14-2016 00:56 bundle-meta.json
1 07-14-2016 00:56 ticket_number.txt
158 07-14-2016 00:56 license.json
630 07-14-2016 00:56 performance-data.json
80 07-14-2016 00:56 trial_status.json
2176204 07-14-2016 00:56 scm-cluster-description.json
207009 07-14-2016 00:56 cm_deployment.json
1 07-14-2016 00:56 comments.txt
--------- -------
2645267 12 files
[kawasaki@localhost Desktop]$
zip 파일 확장
[kawasaki@localhost Desktop]$ unzip 12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
Archive: 12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
inflating: arguments.json
inflating: YarnApplicationDiagnosticsCollection-1802.tgz
inflating: cm_version.json
inflating: cm_http_instrumentation.json
inflating: bundle-meta.json
inflating: ticket_number.txt
inflating: license.json
inflating: performance-data.json
inflating: trial_status.json
inflating: scm-cluster-description.json
inflating: cm_deployment.json
inflating: comments.txt
[kawasaki@localhost Desktop]$
여기에 배포된 파일 중 YarnApplication*.tgz 파일에 이벤트 로그가 포함되어 있습니다. (그 외의 정보는 Cloudera Manager 메타데이터 등입니다). tgz 파일을 확장합시다.
[kawasaki@localhost Desktop]$ tar xvf YarnApplicationDiagnosticsCollection-1802.tgz
diagnostics/
diagnostics/command.log
diagnostics/layout_version.txt
diagnostics/application_1468417076413_0022/
diagnostics/application_1468417076413_0022/spark_event_logs.zip
diagnostics/application_1468417076413_0022/app_info.json
diagnostics/application_1468417076413_0022/app_attempts.json
diagnostics/application_1468417076413_0022/aggregated_logs/
diagnostics/application_1468417076413_0022/aggregated_logs/application_1468417076413_0022/
diagnostics/application_1468417076413_0022/aggregated_logs/application_1468417076413_0022/nightly57-3.gce.cloudera.com_8041
diagnostics/application_1468417076413_0022/aggregated_logs/application_1468417076413_0022/nightly57-4.gce.cloudera.com_8041
[kawasaki@localhost Desktop]$
여기에서 확장된 spark_event_logs.zip이 이벤트 로그입니다. zip 파일을 확장합시다.
[kawasaki@localhost Desktop]$ unzip diagnostics/application_1468417076413_0022/spark_event_logs.zip
Archive: diagnostics/application_1468417076413_0022/spark_event_logs.zip
inflating: application_1468417076413_0022_1
[kawasaki@localhost Desktop]$
이벤트 로그를 Spark History Server 로그 디렉토리에 업로드
배포된 파일을 Spark History Server에 업로드합니다. 업로드 대상은 spark.history.fs.logDirectory 속성에 지정되며 이 환경에서는 hdfs://localhost:8020/user/spark/applicationHistory입니다.
[kawasaki@localhost Desktop]$ hdfs dfs -put diagnostics/application_146841 /user/spark/applicationHistory
application_1468416381293_0021/ application_1468417076413_0022/
Spark 이벤트 로그 수집(Cloudera Manager를 사용하지 않는 경우)
Cloudera Manager를 사용하지 않는 경우 이벤트 로그 파일을 검색하여 History Server에 업로드합니다. 설정에 따라 다르지만 이벤트 로그는 hdfs://:8020/user/spark/applicationHistory 아래에 생성됩니다.
Spark 작업을 실행한 환경에서 로그를 다운로드합니다.
[kawasaki@hoge Desktop]$ hdfs dfs -ls /user/spark/applicationHistory
Found 1 items
-rwxrwx-- 1 kawasaki spark 716000 2016-07-19 15:50 /user/spark/applicationHistory/application_1468417076413_0022
[kawasaki@hoge Desktop]$ hdfs dfs -get /user/spark/applicationHistory/application_1468417076413_0022
[kawasaki@hoge Desktop]$
다운로드한 파일을 업로드합니다.
[kawasaki@localhost Desktop]$ hdfs dfs -put
application_1468416381293_0022 /user/spark/applicationHistory
Spark History Server의 WebUI에서 보기
http://:에 액세스하여 표시합니다. 로컬에서 얻은 것처럼 볼 수 있습니다! Enjoy!
참고 정보
If Spark is run on Mesos or YARN, it is still possible to reconstruct the UI of a finished application through Spark’s history server, provided that the application’s event logs exist. You can start the history server by executing:
Reference
이 문제에 관하여(Spark 작업 기록을 Spark History Server로 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kernel023/items/d757c5a7a2d4229ae7cf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
set hive.execution.engine=spark
Cloudera Enteprise 라이센스가 있는 경우 Cloudera Manager UI에서 이벤트 로그를 수집할 수 있습니다. (라이센스가 없으면 이벤트 로그를 직접 복사합니다. 절차는 나중에 설명합니다)
Cloudera Manager에서 YARN 애플리케이션 보기
Cloudera Manager를 사용하면 클러스터에서 실행되는 YARN(MapReduce 또는 Spark) 및 Impala 애플리케이션의 기록을 나열할 수 있습니다. 아래의 스크리샷은 YARN에서 실행된 애플리케이션을 보여줍니다.
애플리케이션의 진단 데이터 수집
방금 실행한 Hive on Spark(Spark 어플리케이션)의 진단 데이터를 우측의 메뉴로부터 취득합니다.
Cloudera 구독을 계약하는 경우 지원팀에 진단 데이터를 보낼 수도 있지만 이번에는 '진단 데이터 수집' 버튼을 클릭하여 다운로드했습니다. 결과 데이터 다운로드 버튼을 눌러 각 진단 정보와 메타데이터를 아카이브하고 다운로드합니다.
다운로드된 파일은 다음 파일입니다.
12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
로컬 환경에서 표시
다운로드 데이터를 Spark 검증 환경에 업로드
다운로드한 데이터를 로컬 Spark 환경에 업로드하고 내용을 살펴봅니다.
[kawasaki@localhost Desktop]$ unzip -l 12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
Archive: 12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
Length Date Time Name
--------- ---------- ----- ----
485 07-14-2016 00:56 arguments.json
198309 07-14-2016 00:56 YarnApplicationDiagnosticsCollection-1802.tgz
179 07-14-2016 00:56 cm_version.json
62158 07-14-2016 00:56 cm_http_instrumentation.json
53 07-14-2016 00:56 bundle-meta.json
1 07-14-2016 00:56 ticket_number.txt
158 07-14-2016 00:56 license.json
630 07-14-2016 00:56 performance-data.json
80 07-14-2016 00:56 trial_status.json
2176204 07-14-2016 00:56 scm-cluster-description.json
207009 07-14-2016 00:56 cm_deployment.json
1 07-14-2016 00:56 comments.txt
--------- -------
2645267 12 files
[kawasaki@localhost Desktop]$
zip 파일 확장
[kawasaki@localhost Desktop]$ unzip 12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
Archive: 12c8052f-d78f-4a8e-bba4-a55a2d141fcc.default.20160714-07-56-02.support-bundle.zip
inflating: arguments.json
inflating: YarnApplicationDiagnosticsCollection-1802.tgz
inflating: cm_version.json
inflating: cm_http_instrumentation.json
inflating: bundle-meta.json
inflating: ticket_number.txt
inflating: license.json
inflating: performance-data.json
inflating: trial_status.json
inflating: scm-cluster-description.json
inflating: cm_deployment.json
inflating: comments.txt
[kawasaki@localhost Desktop]$
여기에 배포된 파일 중 YarnApplication*.tgz 파일에 이벤트 로그가 포함되어 있습니다. (그 외의 정보는 Cloudera Manager 메타데이터 등입니다). tgz 파일을 확장합시다.
[kawasaki@localhost Desktop]$ tar xvf YarnApplicationDiagnosticsCollection-1802.tgz
diagnostics/
diagnostics/command.log
diagnostics/layout_version.txt
diagnostics/application_1468417076413_0022/
diagnostics/application_1468417076413_0022/spark_event_logs.zip
diagnostics/application_1468417076413_0022/app_info.json
diagnostics/application_1468417076413_0022/app_attempts.json
diagnostics/application_1468417076413_0022/aggregated_logs/
diagnostics/application_1468417076413_0022/aggregated_logs/application_1468417076413_0022/
diagnostics/application_1468417076413_0022/aggregated_logs/application_1468417076413_0022/nightly57-3.gce.cloudera.com_8041
diagnostics/application_1468417076413_0022/aggregated_logs/application_1468417076413_0022/nightly57-4.gce.cloudera.com_8041
[kawasaki@localhost Desktop]$
여기에서 확장된 spark_event_logs.zip이 이벤트 로그입니다. zip 파일을 확장합시다.
[kawasaki@localhost Desktop]$ unzip diagnostics/application_1468417076413_0022/spark_event_logs.zip
Archive: diagnostics/application_1468417076413_0022/spark_event_logs.zip
inflating: application_1468417076413_0022_1
[kawasaki@localhost Desktop]$
이벤트 로그를 Spark History Server 로그 디렉토리에 업로드
배포된 파일을 Spark History Server에 업로드합니다. 업로드 대상은 spark.history.fs.logDirectory 속성에 지정되며 이 환경에서는 hdfs://localhost:8020/user/spark/applicationHistory입니다.
[kawasaki@localhost Desktop]$ hdfs dfs -put diagnostics/application_146841 /user/spark/applicationHistory
application_1468416381293_0021/ application_1468417076413_0022/
Spark 이벤트 로그 수집(Cloudera Manager를 사용하지 않는 경우)
Cloudera Manager를 사용하지 않는 경우 이벤트 로그 파일을 검색하여 History Server에 업로드합니다. 설정에 따라 다르지만 이벤트 로그는 hdfs://:8020/user/spark/applicationHistory 아래에 생성됩니다.
Spark 작업을 실행한 환경에서 로그를 다운로드합니다.
[kawasaki@hoge Desktop]$ hdfs dfs -ls /user/spark/applicationHistory
Found 1 items
-rwxrwx-- 1 kawasaki spark 716000 2016-07-19 15:50 /user/spark/applicationHistory/application_1468417076413_0022
[kawasaki@hoge Desktop]$ hdfs dfs -get /user/spark/applicationHistory/application_1468417076413_0022
[kawasaki@hoge Desktop]$
다운로드한 파일을 업로드합니다.
[kawasaki@localhost Desktop]$ hdfs dfs -put
application_1468416381293_0022 /user/spark/applicationHistory
Spark History Server의 WebUI에서 보기
http://:에 액세스하여 표시합니다. 로컬에서 얻은 것처럼 볼 수 있습니다! Enjoy!
참고 정보
If Spark is run on Mesos or YARN, it is still possible to reconstruct the UI of a finished application through Spark’s history server, provided that the application’s event logs exist. You can start the history server by executing:
Reference
이 문제에 관하여(Spark 작업 기록을 Spark History Server로 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kernel023/items/d757c5a7a2d4229ae7cf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[kawasaki@hoge Desktop]$ hdfs dfs -ls /user/spark/applicationHistory
Found 1 items
-rwxrwx-- 1 kawasaki spark 716000 2016-07-19 15:50 /user/spark/applicationHistory/application_1468417076413_0022
[kawasaki@hoge Desktop]$ hdfs dfs -get /user/spark/applicationHistory/application_1468417076413_0022
[kawasaki@hoge Desktop]$
[kawasaki@localhost Desktop]$ hdfs dfs -put
application_1468416381293_0022 /user/spark/applicationHistory
http://:에 액세스하여 표시합니다. 로컬에서 얻은 것처럼 볼 수 있습니다! Enjoy!
참고 정보
If Spark is run on Mesos or YARN, it is still possible to reconstruct the UI of a finished application through Spark’s history server, provided that the application’s event logs exist. You can start the history server by executing:
Reference
이 문제에 관하여(Spark 작업 기록을 Spark History Server로 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kernel023/items/d757c5a7a2d4229ae7cf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Spark 작업 기록을 Spark History Server로 가져오기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kernel023/items/d757c5a7a2d4229ae7cf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)