我在工作中遇到问题。我们有一个在HDP集群上运行的Kafka。几天来,Kafka丢失了分区同步,而且我似乎丢失了一些消息。有人可以向我确认,如果Kafka丢失分区同步会丢失消息吗?
答案 0 :(得分:0)
所有消息仅写入领导者分区。如果生产者配置中有acks=1
,则可以保证消息已写入该领导者。
如果集群中的每个代理上也有unclean.leader.election=false
,则任何不同步的副本都不能被选为领导者,因此将不接受写入并导致其他关注者截断其日志以匹配不干净的领导者。
如果以上两个条件均不成立,则您对丢失的消息负责。
直到最近发布的卡夫卡,在领导人选举和日志截断方面仍然存在一些边缘情况,这些情况在2018年卡夫卡峰会上进行了讨论-Hardening Kafka Replication
您可能还想签出Cloudera FAQ to see how to configure Kafka to store data reliably
但是,要在此处指出重点
Kafka 不能保证不会发生数据丢失