我注意到我的Kafka主题中很少有我无法解释清楚的。
例如:
./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
我特别关心分区:1,它显示了leader'-1'。
我还注意到,大约有1/3的针对这个主题的消息由于“超时”而失败。我认为这是一个分区没有领导者的结果。
我想知道是否有人了解为什么会出现这个问题,以及如何在生产场景中从中恢复而不丢失数据?
编辑:我正在使用基于librdkafka的python producer;我看到的错误信息是 Message failed delivery: KafkaError{code=_MSG_TIMED_OUT,val=-192,str="Local: Message timed out"}
2条答案
按热度按时间bd1hkmkf1#
很可能你的第二个Kafka经纪人破产了。为了检查活跃的Kafka经纪人你需要运行
输出应类似于下面的输出:
如果第二个代理没有列在活动代理中,那么您需要弄清楚为什么没有启动并运行(如果出现问题,日志应该告诉您)。我还建议增加复制因子,因为您有一个多代理配置。
whitzsjs2#
这通常表示引导该分区的代理处于脱机状态。我会检查offline partitions度量来确认这一点,但也会检查broker2当前是否正常工作。