首页 > 解决方案 > Kafka 主题在 Leader 选举后丢失所有副本

问题描述

我在尝试生成(/从)kafka 主题时得到以下信息:

[2019-12-12 17:33:53,049] WARN [Producer clientId=console-producer] 1 partitions have leader brokers without a matching listener, including [wallet-V4_1_2-transactions-0] (org.apache.kafka.clients.NetworkClient)

在进一步调查中,我可以看到 In-sync 副本现在为 0。不幸的是,由于资源限制,分区和复制因子保持为 1。

bin/kafka-topics --bootstrap-server 192.158.30.74:9092 --topic wallet-V4_1_2-transactions --describe
Topic:wallet-V4_1_2-transactions    PartitionCount:1    ReplicationFactor:1 Configs:
    Topic: wallet-V4_1_2-transactions   Partition: 0    Leader: none    Replicas: 2 Isr:

在段目录中,我可以看到有一个附加文件leader-epoch-checkpoint

root@8436f52ec04c:/var/lib/kafka/data/wallet-V4_1_2-transactions-0# ls -lart
total 656
-rwxrwxrwx   1 nobody nogroup 10485756 Dec  4 06:50 00000000000000003235.timeindex
-rwxrwxrwx   1 nobody nogroup       10 Dec  4 06:50 00000000000000003235.snapshot
-rwxrwxrwx   1 nobody nogroup       18 Dec 10 04:49 leader-epoch-checkpoint
drwxrwxrwx   2 nobody nogroup     4096 Dec 10 04:49 .
-rwxrwxrwx   1 nobody nogroup   636034 Dec 10 11:55 00000000000000003235.log
-rwxrwxrwx   1 nobody nogroup 10485760 Dec 10 11:55 00000000000000003235.index
drwxrwxrwx 106 nobody nogroup    12288 Dec 15 06:22 ..

如此处所述,消费者/生产者不应受此影响。其他主题已从领导者故障中恢复,我可以查询它们。

但是,此主题仍然给出错误:

[2019-12-15 09:54:12,303] WARN [Consumer clientId=consumer-1, groupId=console-consumer-83858] 1 partitions have leader brokers without a matching listener, including [wallet-V4_1_2-transactions-0] (org.apache.kafka.clients.NetworkClient)

如何从 kafka 恢复已发布的消息并保留此主题

标签: apache-kafka

解决方案


推荐阅读