我注意到我的卡夫卡主题很少有人以一种我无法清楚解释的方式表现。
例如:
bq=(album_id:1)^{{count}}
我特别关注Partition:1,显示领导者'-1'。
我还注意到,由于“超时”,为此主题生成的消息大约有1/3失败。我相信这是一个分区没有领导者的结果。
我想知道是否有人了解为什么会发生此问题以及如何在生产场景中从中恢复而又不会丢失数据?
编辑:
我正在使用基于librdkafka的python生产者;我看到的错误消息是./kafka-topics.sh --describe --zookeeper ${ip}:2181 --topic test
Topic:test PartitionCount:3 ReplicationFactor:1 Configs:retention.ms=1209600000
Topic: test Partition: 0 Leader: 1 Replicas: 1 Isr: 1
Topic: test Partition: 1 Leader: -1 Replicas: 2 Isr: 2
Topic: test Partition: 2 Leader: 3 Replicas: 3 Isr: 3
答案 0 :(得分:2)
您的第二个卡夫卡经纪人很可能已经破产。 为了检查活跃的Kafka经纪人,您需要运行
./zookeeper-shell.sh localhost:2181 <<< "ls /brokers/ids"
输出应该类似于以下内容:
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is enabled
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls /brokers/ids
[0, 1, 2]
[zk: localhost:2181(CONNECTED) 1]
如果第二个代理未在活动代理中列出,那么您需要弄清楚为什么它没有启动并运行(日志应该告诉您是否出了问题)。我还建议增加复制因子,因为您具有多代理配置。
答案 1 :(得分:1)
这通常表明导致该分区的代理处于脱机状态。我将检查脱机分区指标以确认这一点,但还要检查代理2当前是否正常运行。