查看 Spark 任务的详细信息
欢迎访问我的 GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
在学习 Spark 的过程中,查看任务的 DAG、stage、task 等详细信息是学习的重要手段,在此做个小结;
环境信息
本文对应的环境信息如下:
CentOS Linux release 7.5.1804
JDK:1.8.0_191
hadoop:2.7.7
spark:2.3.2
参考文档(准备环境用到)
搭建 hadoop、spark、运行耗时任务,请参考以下文章:
部署 hadoop:《Linux部署hadoop2.7.7集群》;
on Yarn 模式部署 Spark 集群:《部署Spark2.2集群(on Yarn模式)》;
开发一个比较耗时的计算任务:《spark实战之:分析维基百科网站统计数据(java版)》;
经过以上准备,我们就有了一个可以用的 Spark 集群环境,并且计算任务也准备好了。
观察运行时任务信息
例如通过执行以下命令启动了一个 spark 任务:
此时控制台会有以下提示:
此时用浏览器访问 master 机器的 4040 端口,可见信息如下图所示,事件、DAG、stage 都有:
点击上图中 stage 的"Description",即可见到该 stage 下的所有 task 信息:
job 运行完成后,控制台有以下信息输出,此时再访问 4040 端口的 webUI 服务,发现已经不可访问了:
观察历史任务
job 结束后,4040 端口提供的 webUI 服务也停止了,想回看已结束的任务信息需要配置和启动历史任务信息服务:
打开配置文件 spark-2.3.2-bin-hadoop2.7/conf/spark-defaults.conf ,增加以下三个配置:
上述配置中, hdfs://node0:8020 是 hdfs 的服务地址。
打开配置文件 spark-env.sh ,增加以下一个配置:
上述配置中, hdfs://node0:8020 是 hdfs 的服务地址。
在 hdfs 的 namenode 执行以下命令,提前创建好日志文件夹:
启动历史任务服务:
此后执行的 spark 任务信息都会保存下来,访问 master 机器的 18080 端口,即可见到所有历史任务的信息,点击查看详情,和前面的运行时任务的内容是一样的:
至此,运行时和历史任务的 job 详情都可以观察到了,可以帮助我们更好的学习和研究 spark。
欢迎关注 InfoQ:程序员欣宸
版权声明: 本文为 InfoQ 作者【程序员欣宸】的原创文章。
原文链接:【http://xie.infoq.cn/article/95cd6dd3afaaae33263974f48】。文章转载请联系作者。
评论