如何监控Spark的作业信息?

前言

Spark的Web UI可以监控一些作业信息,但是Web UI是跟随作业的生命周期,不方便随时随地的获取作业的信息。

因此,介绍一下以下两种监控方式:Spark自身监控和打造自己的监控

官方地址:http://spark.apache.org/docs/latest/monitoring.html

一、Spark自身监控

Spark自带了history server脚本,只要我们配置好相关参数,即可保存作业信息,事后通过历史来查看作业的信息。

1、配置存储

# vi spark-default.conf 开启日志 设置日志保存目录
spark.eventLog.enabled true
spark.eventLog.dir hdfs://mycluster/log/spark-events
# vi spark-env.sh 指定历史信息的地址
export SPARK_HISTORY_OPTS = "-Dspark.history.fs.logDirectory=hdfs://mycluster/log/spark-events"
# 默认18080端口,云主机修改端口,防止被挖矿
# export SPARK_HISTORY_OPTS = "-Dspark.history.fs.logDirectory=hdfs://mycluster/log/spark-events -Dspark.history.ui.port=123456"

2、开启服务

# jps ==> HistoryServer
./sbin/start-history-server.sh

3、Web UI查看:master:18080

二、打造自己的监控

虽然Spark提供了REST API,但是我们使用SparkListener来监控

1、继承SparkListener,实现其方法,可以拿到很多作业信息,把信息持久化到DB

import com.wsd.spark.utils.DBUtils
import org.apache.spark.SparkConf
import org.apache.spark.internal.Logging
import org.apache.spark.scheduler._
import org.json4s.DefaultFormats
import org.json4s.jackson.Json

import scala.collection.JavaConverters._
import scala.collect
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值