2017-05-03 6 views
2

내 스파크 작업은 색조가 oozie에 의해 submmited입니다. 스파크는 실 클러스터 모드에서 작동합니다. spark.ui.port 인 이유내 Spark의 드라이버 노드를 찾는 방법은 무엇입니까?

appuser 137872 137870 0 18:55 ? 00:00:00 /bin/bash -c /home/jdk/bin/java -server -Xmx4096m -Djava.io.tmpdir=/data6/data/hadoop/tmp/usercache/appuser/appcache/application_1493800575189_0547/container_1493800575189_0547_01_000004/tmp '-Dspark.driver.port=36503' '-Dspark.ui.port=0' -Dspark.yarn.app.container.log.dir=/home/log/hadoop/logs/userlogs/application_1493800575189_0547/container_1493800575189_0547_01_000004 -XX:OnOutOfMemoryError='kill %p' org.apache.spark.executor.CoarseGrainedExecutorBackend --driver-url spark://[email protected]:36503 --executor-id 3 --hostname 10.120.117.100 --cores 1 --app-id application_1493800575189_0547 --user-class-path file:/data6/data/hadoop/tmp/usercache/appuser/appcache/application_1493800575189_0547/container_1493800575189_0547_01_000004/__app__.jar 1> /home/log/hadoop/logs/userlogs/application_1493800575189_0547/container_1493800575189_0547_01_000004/stdout 2> /home/log/hadoop/logs/userlogs/application_1493800575189_0547/container_1493800575189_0547_01_000004/stderr 
appuser 138337 137872 99 18:55 ? 00:05:11 /home/jdk/bin/java -server -Xmx4096m -Djava.io.tmpdir=/data6/data/hadoop/tmp/usercache/appuser/appcache/application_1493800575189_0547/container_1493800575189_0547_01_000004/tmp -Dspark.driver.port=36503 -Dspark.ui.port=0 -Dspark.yarn.app.container.log.dir=/home/log/hadoop/logs/userlogs/application_1493800575189_0547/container_1493800575189_0547_01_000004 -XX:OnOutOfMemoryError=kill %p org.apache.spark.executor.CoarseGrainedExecutorBackend --driver-url spark://[email protected]:36503 --executor-id 3 --hostname 10.120.117.100 --cores 1 --app-id application_1493800575189_0547 --user-class-path file:/data6/data/hadoop/tmp/usercache/appuser/appcache/application_1493800575189_0547/container_1493800575189_0547_01_000004/__app__.jar 

가 나도 몰라 : 나는 과정을 확인, 나는 소위 운전자의 4040 포트로 실행중인 응용 프로그램의 상태를 모니터링하려고하지만 4040 포트를 찾을 수 없습니다 0 대신 4040. 물론, 포트 0 내 리눅스 시스템에 의해 허용되지 않습니다. 그래서, REST API에서 응용 프로그램 상태를 모니터링 할 수 없습니다.

아무도 나에게 몇 가지 제안을 할 수 있습니까?


마리우스의 답변에 감사드립니다. 아래의 스파크 ApplicationMaster 프로세스가 있습니까?

[[email protected] bin]$ ps -ef|grep ApplicationMaster 
appuser 125805 125803 0 May03 ?  00:00:00 /bin/bash -c /home/jdk/bin/java -server -Xmx1024m -Djava.io.tmpdir=/data6/data/hadoop/tmp/usercache/appuser/appcache/application_1493800575189_0014/container_1493800575189_0014_01_000001/tmp -Dspark.yarn.app.container.log.dir=/home/log/hadoop/logs/userlogs/application_1493800575189_0014/container_1493800575189_0014_01_000001 org.apache.spark.deploy.yarn.ApplicationMaster --class 'com.netease.ecom.data.gjs.statis.online.app.day.AppDayRealtimeStatis' --jar hdfs://datahdfsmaster/user/appuser/bjmazhengbing/jar/spark_streaming/spark-streaming-etl-2.0.jar --arg 'analysis_gjs_online.properties' --arg 'rrr' --properties-file /data6/data/hadoop/tmp/usercache/appuser/appcache/application_1493800575189_0014/container_1493800575189_0014_01_000001/__spark_conf__/__spark_conf__.properties 1> /home/log/hadoop/logs/userlogs/application_1493800575189_0014/container_1493800575189_0014_01_000001/stdout 2> /home/log/hadoop/logs/userlogs/application_1493800575189_0014/container_1493800575189_0014_01_000001/stderr 

불꽃의 공식 문서에 따르면, 드라이버 프로그램 모니터링에 사용되는 4040 포트가 있어야하지만 내 드라이버 프로그램은 포트를 열지 않은 것 같다

[[email protected] bin]$ netstat -ntlp|grep 125805 
(Not all processes could be identified, non-owned process info 
will not be shown, you would have to be root to see it all.) 

를 내가 마지막으로 드라이버 포트를 찾는 목적은 응용 프로그램 상태를 모니터링하는 것입니다. 어떤 제안?

답변

4

나열된 프로세스는 드라이버가 아닌 실행 프로그램입니다.

yarn-cluster 모드에서 응용 프로그램을 실행하면 스파크 드라이버와 원사 응용 프로그램 마스터가 동일한 JVM에서 실행됩니다. 따라서 Spark UI 주소를 결정하는 가장 쉬운 방법은 관리자의 UI를 재사용하고 응용 프로그램을 찾고 응용 프로그램 마스터에 대한 링크를 클릭하는 것입니다. 이것은 프록시 주소이며, 드라이버의 ui 포트를 가리 킵니다.

+0

도움 주셔서 대단히 감사합니다. 포트를 편집했습니다. 제발 제안 해 주시겠습니까? – wuchang

+0

포트를 결정하기 위해 hadoop 노드에 로그 할 필요가 없습니다. 가장 쉬운 방법은 Resource Manager UI를 사용하는 것입니다 (위에서 설명한 것처럼). CLI를 사용하면 원사 명령 '$ yarn application -status application_1493800575189_0014'를 사용할 수 있습니다. 그러면 스파크 드라이버의 추적 URL이 표시됩니다. – Mariusz

+0

위대한 직업! 'yarn application -status application_1493800575189_0014'는 매우 유용한 정보를 제공합니다. 대단히 감사합니다. – wuchang