kafka有些分区leader为-1的问题

本文介绍当Kafka分区的Leader在Broker关闭时变为-1的异常现象,分析其原因在于Broker关闭时Controller选主失败,提供通过重启Controller所在的Broker解决问题的详细步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现象

get /kafka/brokers/topics/stock_ticks_test1/partitions/0/state

{"controller_epoch":12,"leader":-1,"version":1,"leader_epoch":5,"isr":[5]}

原因

broker shutdown的时候,partition的leader在此broker上,controller选主没有成功,移除此broker后,对应的partition的leader就被赋值成-1了

解决

重启controller

  • 步骤1:找到controller

进入zk命令行,定位controller在哪个节点

[zk: localhost:2181(CONNECTED) 1] get /kafka/controller
{"version":1,"brokerid":4,"timestamp":"1587371673207"}
cZxid = 0x329f55eb3
ctime = Mon Apr 20 16:34:33 CST 2020
mZxid = 0x329f55eb3
mtime = Mon Apr 20 16:34:33 CST 2020
pZxid = 0x329f55eb3
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x100bf66c3b90445
dataLength = 54
numChildren = 0

  • 步骤2:重启controller所在broker 4

bin/kafka-server-stop.sh

bin/kafka-server-start.sh -daemon ./config/server.properties 

 

  • 步骤3:重新查看分区信息

 get /kafka/brokers/topics/stock_ticks_test1/partitions/0/state
{"controller_epoch":12,"leader":5,"version":1,"leader_epoch":6,"isr":[5]}
cZxid = 0x309da4876
ctime = Mon Nov 25 17:04:20 CST 2019
mZxid = 0x329f54723
mtime = Mon Apr 20 16:32:18 CST 2020
pZxid = 0x309da4876
cversion = 0
dataVersion = 6
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 73
numChildren = 0

已经恢复正常 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值