Spark History Server配置及使用

为什么要配置history server

在Spark安装成功后,无论是通过spark-submit工具还是通过Intellij IDEA提交任务,只要在Spark应用程序运行期间,都可以通过WebUI控制台页面来查看具体的运行细节,在浏览器中通过地址:http://<driver-node>:4040即可查看当前的运行状态。但是一旦应用程序运行结束,该Web界面也就失效了,无法继续查看监控集群信息。无法回顾刚刚运行的程序细节,进而定向做出优化,肯定极为不便。

这时候就需要为集群配置Spark History Server了。

注:<driver-node>可以是主机名,如master,也可以是主机名对应的IP。

Spark History Server可以很好地解决上面的问题。

通过配置,我们可以在Spark应用程序运行完成后,将应用程序的运行信息写入知道目录,而Spark History Server可以将这些信息装在并以Web形式供用户浏览。

要使用Spark History Server,对于提交应用程序的客户端需要配置以下参数。

怎么配置

下面以Standalone模式为例说明配置信息。更多扩展细节可以根据自己的需求在此基础上添加配置项。

1、首先配置$SPARK_HOME$/conf目录下的spark-defaults.conf文件。

默认spark-defaults.conf是不存在的,我们可以根据Spark提供的template文件新建之。

并修改文件内容为:

spark.eventLog.enabled           true
spark.eventLog.dir               hdfs://master:9000/history
spark.eventLog.compress          true

属性说明

(1) spark.eventLog.enabled

是否记录Spark事件,用于应用程序在完成后的筹够WebUI。

(2) spark.eventLog.dir

设置spark.eventLog.enabled为true后,该属性为记录spark时间的根目录。在此根目录中,Spark为每个应用程序创建分目录,并将应用程序的时间记录到此目录中。用户可以将此属性设置为HDFS目录,以便History Server读取。

(3) spark.eventLog.compress

否压缩记录Spark事件,前提spark.eventLog.enabled为true,默认使用的是snappy。

2、在HDFS中建立存放目录
上文已经设置好了存放History的目录HDFS文件目录,现在我们在HDFS中建立相应的目录专门存放文件。

root@master:~# hadoop dfs -mkdir /spark-history

3、配置spark-env.sh文件
添加

export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=3 -Dspark.history.fs.logDirectory=hdfs://master:9000/history"

属性说明

(1) spark.history.ui.port

WebUI的端口号。默认为18080,也可以自行设置。

(2) spark.history.retainedApplications

设置缓存Cache中保存的应用程序历史记录的个数,默认50,如果超过这个值,旧的将被删除。

注:缓存文件数不表示实际显示的文件总数。只是表示不在缓存中的文件可能需要从硬盘读取,速度稍有差别。

(3) spark.history.fs.logDirectory

存放历史记录文件的目录。可以是Hadoop APIs支持的任意文件系统。

更多配置参考文章末尾的链接。

怎么启动

  • 首先启动Hadoop的start-dfs.sh以及Spark的start-all.sh
  • 然后运行start-history-server.sh文件即可启动历史服务
  • 如果上边的不行,直接
    ./start-history-server.sh hdfs://master:9000/spark-history

启动后的效果如下(此时尚未运行程序,没有记录显示出来):


13641823-1b430e86ae47f355.jpg
2016111620293020

参考文章

Spark Monitoring and Instrumentation

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值