kafka-producer的生产速度与kafka-consumer的消费速度对比

一、业务需求

上游数据存储到kafka中,使用flume来采集数据,传输至hdfs等多种flumeSink。在此过程中,若kafka的数据生产速度高于了flume的消费速度,就会产生数据积压。为了对此过程进行监控,需要定时来监控kafka的生产与消费的状态。

二、知识积累

知识参考:https://blog.csdn.net/yxgxy270187133/article/details/53666760

  1. 查询kafka topic的offset的范围
  • 查看topic=pz_test_topic,broker=${ip_port}的offset的最小值
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list ${ip_port} -topic pz_test_topic --time -2

输出:pz_test_topic:0:1000

  • 查看offset的最大值
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list ${ip_port} -topic pz_test_topic --time -1

输出:pz_test_topic:0:1982

可见,topic:pz_test_topic有一个分区partition:0,且 offset范围为:[1000,1982]

  1. 设置consumer group的offset
  • 启动zookeeper client

/zookeeper/bin/zkCli.sh

  • 设置consumer group:testgroup topic:pz_test_topic partition:0的offset为1000:
set /consumers/testgroup/offsets/pz_test_topic/0 1000
  • 注意如果kafka设置了zookeeper root,比如为/kafka,那么命令应该改为:
set /kafka/consumers/testgroup/offsets/pz_test_topic/0 1000

重启相关的应用程序,就可以从设置的offset开始读数据了

  1. 手动更新kafka存在zookeeper中的偏移量
    有时候需要手动将某个topic的偏移量设置成某个值,需要更新Zookeeper中的数据。Kafka内置为我们提供了修改偏移量的类:kafka.tools.Upd
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值