내 스파크 작업은 색조가 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.)
를 내가 마지막으로 드라이버 포트를 찾는 목적은 응용 프로그램 상태를 모니터링하는 것입니다. 어떤 제안?
도움 주셔서 대단히 감사합니다. 포트를 편집했습니다. 제발 제안 해 주시겠습니까? – wuchang
포트를 결정하기 위해 hadoop 노드에 로그 할 필요가 없습니다. 가장 쉬운 방법은 Resource Manager UI를 사용하는 것입니다 (위에서 설명한 것처럼). CLI를 사용하면 원사 명령 '$ yarn application -status application_1493800575189_0014'를 사용할 수 있습니다. 그러면 스파크 드라이버의 추적 URL이 표시됩니다. – Mariusz
위대한 직업! 'yarn application -status application_1493800575189_0014'는 매우 유용한 정보를 제공합니다. 대단히 감사합니다. – wuchang