Kafka 相关命令和问题记录

  • 一、问题
    • Kafka UI fetched统计问题
      开发完了代码,洋洋洒洒部署上线。一切都很OK。程序正常启动,kafka生产数据正常发送了。然后查看Kafka的实时曲线图。刚生产的数据,还没有通知消费端消费,却发现《各 Kafka Broker Topics 中的总 Bytes Fetched》的量是《各 Kafka Broker Topics 中的总 Bytes Received》的2倍。纳尼,测试环境没有这个问题啊。。。。第一次在正式环境使用kafka,顿时紧张不行,仔细检查程序,确认不是自己主动消费,并且还没有对外公开topic名称和kafka地址,也不是下游消费的。奇了怪去找运维,运维帮忙查kafka在zookeeper下的consumers目录,同样一无所获,并没有发现消费者组消费这个topic。2个小时一直很奇怪到底为什么,看了别人的topic发现也是有这个问题。
      Kafka生产和消费UI
      开始定位
      1.现象
      Kafka UI图显示:《各 Kafka Broker Topics 中的总 Bytes Fetched》的量是《各 Kafka Broker Topics 中的总 Bytes Received》的2倍
      2.可能原因分析
      (1)真的有两个消费者组在消费,比如有些消费者定义正则发现topic,刚好这个topic在被人定义的正则范围内。但是我们的命名是有规范的,这个可能性不大。为了谨慎,还是改了topic名字加以验证,还是同样的2倍关系。那么这个原因就被排除了。
      (2)测试环境kafka和生产环境版本不一致,有可能有《各 Kafka Broker Topics 中的总 Bytes Fetched》统计不准的bug,但是很快就排除了这种想法。就算不准不应该有这种明显的2倍关系,一定是正常的程序逻辑在做着什么。
      (3)既然测试环境和生产环境不一致,那么两个环境的差别是什么呢???想了很久,忽然想到了副本数,测试环境的topic和生产环境topic的差别在于副本数。测试环境副本数设置是1的,但是生产环境设置的是3啊啊,叮!这就说明生产者生产消息后创建副本时需要遍历消息的。刚好是2倍的关系。
      3.验证
      在测试环境将topic的副本数修改为3份,观察测试环境Kafka的UI统计图。果然也是有《各 Kafka Broker Topics 中的总 Bytes Fetched》的量是《各 Kafka Broker Topics 中的总 Bytes Received》的2倍关系。
      4.总结
      确认不是问题。只是自己知之尚浅,继续努力吧!
      以前不知道这个副本也是统计在《各 Kafka Broker Topics 中的总 Bytes Fetched》里的,谨记。
  • 二、命令记录
    • Kafka修改topic副本数
      • 创建json文件 kafka_json_file.json

        {"version":1,
           "partitions":[
           	{"topic":"topicName","partition":0,"replicas":[0,1,2]}, 
           	{"topic":"topicName","partition":1,"replicas":[0,1,2]}, 
           	{"topic":"topicName","partition":2,"replicas":[0,1,2]}, 
           	{"topic":"topicName","partition":3,"replicas":[0,1,2]}, 
           	{"topic":"topicName","partition":4,"replicas":[0,1,2]}, 
           	{"topic":"topicName","partition":5,"replicas":[0,1,2]}, 
           	{"topic":"topicName","partition":6,"replicas":[0,1,2]}, 
           	{"topic":"topicName","partition":7,"replicas":[0,1,2]}
           ]
        }
        
      • 执行命令,修改topic副本数

        kafka-reassign-partitions --zookeeper localhost:2181/kafka  --reassignment-json-file kafka_json_file.json --execute
        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值