kafka broker数据丢失问题

地中海的蓝 发表于: 2016-12-19   最后更新时间: 2016-12-19  
  •   3 订阅,165 游览

broker与zk失去连接,leader切换,这期间的几秒内会发生部分数据丢失,我的replica配置是2,ack是all,从kafka的机制上来说会有这种数据丢失的问题么?怎么可以解决?

[2016-12-19 16:02:50,086] INFO re-registering broker info in ZK for broker 0 (kafka.server.KafkaHealthcheck$SessionExpireListener)
[2016-12-19 16:02:50,088] INFO Creating /brokers/ids/0 (is it secure? false) (kafka.utils.ZKCheckedEphemeral)
[2016-12-19 16:02:50,089] INFO Result of znode creation is: OK (kafka.utils.ZKCheckedEphemeral)
[2016-12-19 16:02:50,090] INFO Registered broker 0 at path /brokers/ids/0 with addresses: PLAINTEXT -> EndPoint(100.77.2.66,9092,PLAINTEXT) (kafka.utils.ZkUtils)
[2016-12-19 16:02:50,090] INFO done re-registering broker (kafka.server.KafkaHealthcheck$SessionExpireListener)
[2016-12-19 16:02:50,090] INFO Subscribing to /brokers/topics path to watch for new topics (kafka.server.KafkaHealthcheck$SessionExpireListener)
[2016-12-19 16:02:50,091] INFO New leader is 7 (kafka.server.ZookeeperLeaderElector$LeaderChangeListener)







发表于: 1月前   最后更新时间: 1月前   游览量:165
上一条: kafka报no current assignment for partition
下一条: 创建topic时报错: org.apache.kafka.common.errors.UnknownTopicOrPartitionException: This server does not host this topic-partition.
评论…

  • 数据丢失也跟producer和consumer有关,并不一定是主备切换导致的。
    你设置是all,是producer发送数据后,副本也会响应,所以正常副本也是有数据的。
    你在看看是那块导致数据丢失的。
    • 另起一个consumer消费数据也是少了的,所以可以排除consumer的问题。另外每次数据丢失时间段都正好是leader切换时,所以判断是切换引起的,因为producer也没有报错,所以怀疑是broker的问题,不知道这里还有没有更好的定位方法。
        • 我的producer是常驻进程,一直都在跑,应该不会是进程结束导致的消息丢失。现在我不太好判断到底是broker还是producer的问题,感觉没有很好的定位手段
          • 评论…
            • in this conversation
              提问