spark history server

环境相关:

OS:CentOS release 6.9
IP:192.168.77.10
MEM:10G(推荐4G以上)
DISK:50G

1. 相关说明

我们可以部署spark history server将我们运行的spark任务日志保存下来,备查备用。
spark history server是一个守护进程服务,有相应的WebUI,使用方便。
本实验需要spark环境,依据《spark-2.2.0-bin-2.6.1-cdh5.7.1 编译部署(一)》、
《spark-2.2.0-bin-2.6.1-cdh5.7.1 编译部署(二)》和《spark-2.2.0-bin-2.6.1-cdh5.7.1 编译部署(三)》部署。

2. 配置启动:

日志保存需要一个存储位置,可以是本地文件系统也可以是hdfs,本实验使用hdfs,
该存储位置需要提前创建:

hdfs dfs -mkdir hdfs:///spark_eventLog

配置 spark-default.conf 记录日志:

cd $SPARK_HOME/conf
vi spark-default.conf
# 打开history server开关
spark.eventLog.enabled true
# 配置日志写入路径
spark.eventLog.dir     hdfs:///spark_eventLog
# 该目录要存在,需要history server启动前创建
spark.eventLog.compress true
# 压缩开关参数要打开,默认是关闭的
spark.io.compression.codec  lz4
# 打开压缩之后,默认使用lz4压缩,保持默认即可
spark.io.compression.lz4.blockSize  32k
# 默认使用lz4压缩,并且配置压缩的块大小,默认32k太小
# 建议设置成320K以上

配置 spark-env.sh 展示日志:

cd $SPARK_HOME/conf
vi spark-env.sh
# 配置history server的读取日志位置
# 同时打开日志自动清理功能
SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs:///spark_eventLog -Dspark.history.fs.cleaner.enabled=true"
# 该配置文件中的参数传参使用-D,如:
# XXX="-Dxxx=xxx -Dxxx=xxx"
# 一般-D代表的是自定义参数

启动history-server 服务:

cd $SPARK_HOME/sbin
./start-history-server.sh
# 默认监听端口18080,WebUI地址:http://IP:18080

3. 测试:

运行一个spark-shell 测试:

spark-shell --master yarn
sc.parallelize(1 to 1000).count
sc.stop
:quit
# 打开WebUI:http://192.168.77.10:18080
# Show completed applications
# Show incomplete applications
# spark-shell 是不是completed状态,取决于sc.stop有没有执行

4. 调优参数:

官方文档地址:http://spark.apache.org/docs/latest/monitoring.html
相关 spark-default.conf 调优参数:

# spark.history.fs.logDirectory file:/tmp/spark-events 默认读取日志的位置
# spark.history.fs.update.interval  10s 默认刷新时间是10秒
# spark.history.ui.port 18080 默认的WebUI端口
# spark.history.fs.cleaner.enabled  false 是不是自动清理日志的开关
# spark.history.fs.cleaner.interval 1d 自动清理的周期
# spark.history.fs.cleaner.maxAge   7d 自动清理保存的最大历史
# spark.history.retainedApplications    50
# 缓存中保留数据的应用的数量
# 如果数量超限,最老的应用会被LRU
# 如果访问一个不在缓存中的应用,则会从磁盘加载该应用信息到缓存

5. REST API 部分:

通过 REST API 我们就可以定制我们特有的监控功能,
相关官方文档地址:http://spark.apache.org/docs/latest/monitoring.html

历史任务可以在 http://IP:18080/api/v1 找到
正在运行的任务 http://IP:4040/api/v1 找到

相应的参数,如 /applications
具体相应的URL,
例如:http://192.168.77.10:18080/api/v1/applications
http://192.168.77.10:18080/api/v1/applications?status=completed
返回相应的JSON信息

我们可以使用第三方的JSON格式化工具网页,如:
https://www.bejson.com/ 将返回信息贴入,进一步查看

6. Metrics 部分:

Spark包含一个可配置化的指标体系
允许spark性能指标以多样化的形式展示,如HTTP、JMX或CSV文件
通过配置 $SPARK_HOME/conf/metrics.properties 来控制,
具体参见官方文档:http://spark.apache.org/docs/latest/monitoring.html

[TOC]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值