spark的日志监控(WEB UI 和history server)

背景

当我们在跑一个spark任务的时候,如果碰到数据倾斜或者我们想去看下运行参数或者具体的运行情况,这时候我们就需要一个可视化的日志页面,去监控spark的运行。
(注明:大部分知识点是从官方文档翻译,少部分是自己测试,或者在实际项目中的总结。)

官方文档地址:https://spark.apache.org/docs/latest/monitoring.html

1、spark UI

默认情况下,SparkContext都会默认在端口4040上启动一个Web UI,即启动一个application会在端口4040启动一个web UI。如果多个application在同一个主机上运行,则会从4040开始往后顺延,即4041,4042 等(这个在启动日志可以看到),如下所示

20/03/25 11:16:16 WARN util.Utils: Service ‘SparkUI’ could not bind on port 4040. Attempting port 4041.
20/03/25 11:16:16 INFO server.AbstractConnector: Started ServerConnector@61533ae{HTTP/1.1,[http/1.1]}{0.0.0.0:4041}
20/03/25 11:16:16 INFO util.Utils: Successfully started service ‘SparkUI’ on port 4041.

但是默认情况WEB ui只在程序访问期间有效。在一个application结束的时候,就会去关闭此端口,所以页面也就访问不了了。

20/03/25 11:17:17 INFO server.AbstractConnector: Stopped Spark@61533ae{HTTP/1.1,[http/1.1]}{0.0.0.0:4041}
20/03/25 11:17:17 INFO ui.SparkUI: Stopped Spark web UI at http://****:4041

2、history server

spark提供了history server,使其可以在application 完成以后来查看相应的页面。
原理是将spark application执行过程中的信息以及结果保存成一个文件存到相应的路径,然后server端会去指定的位置扫描加载。如下所示

-rwxrwxrwx 3 hadoop hadoop 22165 2019-07-29 07:14 hdfs://beh/var/log/hadoop-spark/application_1544095686986_0001
-rwxrwx— 2 hadoop hadoop 87292 2020-03-25 19:41 hdfs://beh/var/log/hadoop-spark/application_1584768368082_0023

每一个文件使用json保存的一些信息,等待server端的扫描加载

1、配置

1、客户端的配置
在spark-defaults.conf下

spark.eventLog.dir                 hdfs:///sparkHistory
spark.eventLog.enabled             true
  • 2、server端的配置
    在spark-env.sh 下
export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.fs.logDirectory=hdfs:///sparkHistory"
2、启动

进入spark根目录的sbin下

./start-history-server.sh

3、参数说明

history server有一些相关的配置,具体的如官网所示
https://spark.apache.org/docs/latest/monitoring.html

4、参数说明、在yarn的UI 界面跳转

在yarn界面链接到spark历史服务器
抱歉之前的写法只是能在访问 ip:18080 这样可以访问,但是如果在yarn UI的界面链接过去是不能的
如这个界面
image.png
如果想点击history 跳转到spark的history界面的话,需要在你的spark-default.conf 中配置 spark.yarn.historyServer.address :18080 ( 就是你启动服务的IP)
配置好了 然后启动history server 即可连接过去了(猜想应该是去照这个spark-default.conf的配置去了,没有就不跳转)

看下日志,看下端口,是否启动成功
启动成功 则开启了history-server

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值