【spark】一 spark on yarn的日志查看

spark on yarn (ambari + zeppelin)查看日志 (安全因素,端口映射不够用)

日志四种方式:

①yarn 的 hadoop的端口页面 url(ip:8084/cluster/app/application_15xxxx_001) 中

		可看到Log下面 带连接:xxhost:8042/node/containerlogs/container_e09_application_15xxx_001_01_001/zeppelin
		换乘xxhost对应ip后 就又跳转一边url(xxxxhost2:19888/jobshistory/xxxhost3:4545******/zeppelin) 反正没走通,生产上也开不了这么多端口

②spark history ui来查看:

一:正在运行的,可通过zeppelin 的spark interpret 中的spark ui连接,xxxhost:4040 ,
替换xxxhost后再跳转到xxxhost2::8084/proxy/redirect/application_15xxx_001就可以卡看ui了,但是生产商没有该映射 (端口配置可改,一般不改)

二:已运行并stop的 sparkContext,可在spark history所在机器ip:18081 (端口配置可改,一般不改)可看到最近的job history list,点进去一个个看便是,这也是通常所示的spark ui
#spark.history.ui.port=18081
#spark.yarn.historyService.address={{spark_history_server_host}}:{{spark_history_ui_port}}

③通过zepplein的shell配置 去直接查看hdfs或在机器上得日志 (目前通过下载文件,把日志下来,或者直接zepplein的shell中查看,至于hdfs上的可以转到local file 再下载)

hdfs中目录:spark.Eventlog.directory = spark.History.FS.log.directory= hdfs:spark2-history/
local目录:Spark Log Directory = /var/log/spark2/
Spark PID Directory = /var/run/spark2/

而spark on yarn 资源是yarn 管理的,历史任务log若是开启了yarn收集,则会移到yarn中配置的路径中:
yarn local: YARN NOdeManager Local directories = /hadoop/yarn/local
YARN NodeManager Log directories = /hadoop/yarn/log
YARN NodeManager REmote App Log direcotry = /app-logs (url跳转时用到)
yarn.log-aggregation retain-seconds = 2592000 #sparkContext.stop()多少秒后收集日志
yarn.log.server.url= http://xxxxhost.localdomain:19888/jobhistory/logs #url方式查看log服务地址

#hdfs dfs -ls -R -h / |grep application_xxx 就可以在zeppelin的shell中查看跟applicaiton_xx相关的文件了,撸下来看

#还有很多的yarn配置,老子也被搞死了,蛋疼,反正hdfs 、local的spark、yarn 日志都撸下来就是了

④yarn 命令(zeppelin中shell提交页面)查看通过yarn管理spark job 资源的日志:

yarn app -list #查看运行的application 可以看到spark的用户提交的任务
yarn app -kill [application_id] #kill 指定id的任务
yarn logs -applicationId [application_id] >/tmp/yarn.log #查看指定id的任务日志,写入某文件,就可以通过浏览器手输url来进行nginx转发下载了

你可能感兴趣的:(spark)