从事实时计算多年,熟悉jstorm/spark/flink/kafka/rocketMq, 热衷于开源,希望在这里和前辈们一起学习与分享,得到长足的进步!邮箱:hustfxj@gmail.com 我的githup地址是:https://github.com/hustfxj。欢迎和大家一起交流探讨问题。
分类: 大数据
2017-05-27 20:01:17
我们在调试中有提到Spark History Server,这个主要是给我们提供history UI的。这个功能同时支持standaone 和 yarn模式。以standalone运行模式为例,在运行Spark Application的时候,Spark会提供一个WEBUI列出应用程序的运行时信息;但该WEBUI随着Application的完成(成功/失败)而关闭,也就是说,Spark Application运行完(成功/失败)后,将无法查看Application的历史记录;Spark history Server就是为了应对这种情况而产生的,通过配置可以在Application执行的过程中记录下了日志事件信息,那么在Application执行结束后,WEBUI就能重新渲染生成UI界面展现出该Application在执行过程中的运行时信息;Spark运行在yarn或者mesos之上,通过spark的history server仍然可以重构出一个已经完成的Application的运行时参数信息。
spark.eventLog.enabled true spark.eventLog.dir (本地目录/tmp/spark/或者hdfs目录hdfs://h7p-0.inc.alipay.net:9000/spark/history)
如果要求集群级别都需要history服务的话,这两个配置项请加入spark-defalut.conf文件里头去,如果只是希望个别任务需要history服务的话,那只要任务本身加入两个配置项。
增加了这两个配置项之后,任务运行过程中会把定时把任务状态dump到spark.eventLog.dir 路径上去。
理论上之后这台机器上可以读取spark.eventLog.dir目录信息,就一定可以开启history服务。开启history服务需要配置环境变量。默認的histoy服務端口是18080,你可以通過配置spark.history.ui.port更改這個端口
export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=spark.eventLog.dir地址"