apache-kafka - 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 恢复已发布的消息并保留此主题
解决方案
推荐阅读
- r - 更改R ggplot中条形之间的间隙
- python - 如何在python中将参数传递给POST请求
- html - 图片回退默认为 png 而不是 webp
- rubygems - 无法安装可可豆荚
- c# - WinForms 滚动条,禁用超出范围的滚动。应该是手动的?
- dask - 当数据不适合内存时,将 dask 数据帧存储到镶木地板
- api - 通过部署的应用程序传播 Mulesoft 错误消息
- google-cloud-platform - GCP 警报政策:数据流经过时间增加 50%
- javascript - 如何在 expess REST API 中实现 face-api.js
- qt - 如何在 QtCreator 中添加前缀