SparkStreaming 新增Metrics 支持Kafka数据消费堆积监控

在SparkStreaming任务运行的过程中,由于数据流量或者网络的抖动,任务的batch很可能出现delay,所以就出现了一个需求:实时监控任务对kafka消息的消费,及时了解堆积情况。

这个需求应该有很多种解决方案,我这边提供的思路是基于Spark Metrics System的。SparkStreaming任务在运行过程中,会产生很多Metrics信息,不断地推送到Sink上面,我们这里使用到的是MetricsServlet。

打开Spark UI,我们能够很方便地通过RestAPI方式请求任务Metrics信息,接口如下:

http://ClusterHostName:8088/proxy/AppID/metrics/json

返回的Metrics信息如下:Metrics_json.png

这里应用的方案就是在这些Metrics里面添加一个新Metrics,这个Metrics应该能够向监控应用程序提供任务batch对records的消费情况。

我们知道,SparkStreaming应用消费Kafka数据有两种API:Reciever模式和Direct模式。所以针对使用的不同的API,需要提供不同的Metrics信息,其格式可以如下设置:

  • Reciever-Metrics
    kafka.consumer.zkQuorum.zkQuorum.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值