Spark历史任务日志排查(REST API使用)

下面是在yarn资源管理页面和spark作业页面无法查看的情况的尝试。

可以通过yarn application -list -appStates ALL |grep AppName,查看应用对应的appId。

1、如果Spark的资源管理器是Yarn,并且yarn开启了日志聚合功能,那么历史作业日志可以在hdfs上查找,路径一般是/tmp/logs/用户名/logs/appId/executor主机名_id,例如/tmp/logs/deployer/logs/application_1638606732269_151725/node01_39898,可以查看到具体work节点上的日志。

2、使用yarn命令,yarn命令的功能可通过yarn -help查看,查看应用日志的命令是yarn logs -applicationId appId。

3、使用YARN REST API,curl 'http://rm-http-address:port/ws/v1/cluster/apps/appId' |python -m json.tool,可以初步查看应用的情况

4、使用Spark REST API,当任务是运行在yarn集群上时,网址是active-rm-address:port,地址信息页不再是/api/v1,而是要加上代理路径/proxy/appId/api/v1/,例如

curl 'http://<active-rm-address:port>/proxy/appId/api/v1/applications/appId/jobs',需要注意只能查看当前正在运行的应用,历史应用需要使用curl 'http://<active-rm-address:port>/ws/v1/cluster/apps/appId'来查看。

 

posted @ 2022-06-10 17:10  梦玄庭  阅读(608)  评论(0编辑  收藏  举报