【问题标题】:kafka Reassignment of partition is still in progresskafka 分区的重新分配仍在进行中
【发布时间】:2020-12-16 23:15:05
【问题描述】:

我有一个 kafka 集群 21,22,23,24,25,但是一些代理被永久删除,

剩余23、24、25,则__consumer_offsets主题分区失去leader:

Topic: __consumer_offsets  Partition: 0  Leader: 24 Replicas: 24 Isr: 24
Topic: __consumer_offsets  Partition: 1  Leader: -1 Replicas: 21 Isr: 21

分区 1 失去领导者,当我运行将其重新分配给 25 时,它仍然显示 处理,总是。

还有这样的信息:

Topic: __consumer_offsets  Partition: 1  Leader: -1 Replicas: 25,21 Isr: 21

如何在不从已删除的代理同步的情况下将分区 1 重新分配给可用代理?

重新分配 json 部分文件:

   {
        "version":1,
        "partitions":[
            {
                "topic":"__consumer_offsets",
                "partition":1,
                "replicas":[
                    25
                ],
                "log_dirs":[
                    "any"
                ]
            }
        ]
    }

kafka 版本:kafka_2.12-1.1.0

【问题讨论】:

    标签: apache-kafka


    【解决方案1】:

    您的偏移量主题似乎只有一个副本。因此无法恢复该分区的数据,因为它正在等待代理 ID 21 可用

    不使用该 ID 创建新代理的唯一“修复”方法是手动修改 Zookeeper 数据以更改副本分配

    一旦你修复它,你应该增加该主题的副本数,因为如果它不可用,任何消费者都不会工作

    【讨论】:

    • 谢谢,OneCricketeer。新的 kafka 版本将消费者组偏移量存储到名为“__consumer_offsets”的 kafka 主题中。正如我所提到的,我编辑了一个重新分配 json,旨在将副本更改为可用的代理,但它始终显示重新分配仍在处理中。如何手动修改主题分区数据
    • 是的,我知道。我说它仍在处理中,因为它正在等待代理 21(放置唯一副本的位置)返回,无论是否是新代理。如我的回答中所述,实际的副本放置信息仍存储在 Zookeeper 上
    • 谢谢,OneCricketeer。我误解了分区信息的存储。我手动更改zk数据后,现在正常了。非常感谢您的回答。
    • 不错。随意使用帖子旁边的复选标记接受答案
    猜你喜欢
    • 1970-01-01
    • 2019-06-08
    • 2018-04-28
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 2020-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多