Kafka leader -1

当Kafka中只有一个副本时,broker节点丢失导致leader显示为-1。解决方法是直接修改Zookeeper中对应分区的state,稍后leader将更改为正常。此外,介绍了查看topic状态、集群brokers和调整副本数量的命令,强调至少应有2个副本以确保高可用。

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

问题现象

在只有一个副本时,出现了broker节点丢失,因此导致了leader -1的情况

解决方案

直接修改zookeeper中该分区对应的state

set /brokers/topics/test_add_replication/partitions/1/state {"controller_epoch":140,"leader":1002,"version":1,"leader_epoch":12,"isr":[1002]}

稍等片刻,重新查看topic状态,即可发现leader已变更为1002

题外话

查看toipic状态命令

./kafka-topics.sh --describe --zookeeper localhost:2181 --topic test_add_rep
lication

查看kafka集群brokers命令

zookeeper/bin/zkCli.sh
ls /brokers/ids

修改topic的副本数量

PS:非常不建议只有1个副本

  • 创建一个json文件,内容如下:
{
  "version": 1,
  "partitions": [
    {
      "topic": "test_add_replication",
      "partition": 0,
      "replicas": [
        1002,
        1004,
        1001
      ]
    },
    {
      "topic": "test_add_replication",
      "partition": 1,
      "replicas": [
        1002,
        1004,
        1001
      ]
    },
    {
      "topic": "test_add_replication",
      "partition": 2,
      "replicas": [
        1002,
        1004,
        1001
      ]
    },
    {
      "topic": "test_add_replication",
      "partition": 3,
      "replicas": [
        1002,
        1004,
        1001
      ]
    },
    {
      "topic": "test_add_replication",
      "partition": 4,
      "replicas": [
        1002,
        1004,
        1001
      ]
    }
  ]
}
  • 执行修改命令
./kafka-reassign-partitions.sh --zookeeper localhost:2181 --reassignment-jso
n-file /tmp/rep.json --execute

修改完成后稍等片刻即可生效

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值