在生产环境中,我们经常看到分区在使用主题消息时复制不足。我们正在使用Kafka 0.11。从文档中了解的是
配置参数replica.lag.max.messages
已被删除。在确定哪些副本同步时,分区负责人将不再考虑滞后消息的数量。
配置参数replica.lag.time.max.ms
现在不仅指自上次从副本获取请求以来经过的时间,而且还指自副本上次被捕获以来的时间。仍在从领导者那里获取消息但未赶上replica.lag.time.max.ms
中最新消息的副本将被视为不同步。
我们如何解决此问题?副本不同步的不同原因是什么?在我们的方案中,我们所有的Kafka代理都位于刀片服务器的单个RACK中,并且都使用具有10GBPS以太网(Simplex)的同一网络。我看不到由于网络原因导致副本不同步的任何原因。
答案 0 :(得分:1)
我在Kafka 2.0上遇到了同样的问题, 重新启动时,Kafka控制器节点上的所有内容都会被复制。
但是仍在寻找为什么很少有分区复制不足而同一主题上相同节点上的其他分区运行良好的原因,而这个问题我在随机分区上看到。
答案 1 :(得分:0)
我们遇到了同样的问题:
解决方案是:
没有数据丢失。
问题是由于ZK中的状态错误,因此ZK上存在一个未解决的问题,不记得该号码了。
答案 2 :(得分:0)
请勿同时为所有主题运行重新分配,请考虑一小部分运行它。
unclean.leader.election.enable
设置为true
。Preferred Replica Election
(在yahoo / kafka-manager中或手动执行)。重复其余具有相同问题的主题。
我也尝试过此建议,但对我没有帮助:https://stackoverflow.com/a/51063607/1929406
答案 3 :(得分:0)
我尝试了@kivagant在0.11.0上给出的选项,只是做了3,4,删除了被击中的分区日志,完成了6重新分配
答案 4 :(得分:-1)
浏览Zookeeper日志后,我们发现几乎没有 INFO 和 WARN 日志,它们似乎没有提供任何重要信息来识别根本原因。但是,这些日志为我们提供了有关Kafka偏移管理中的 __ consumer_offsets 主题的一些指导。
日志:
2018-08-08 03:51:30,133 [myid:1] - WARN [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@368] - caught end of stream exception
EndOfStreamException: Unable to read additional data from client sessionid 0x264fb4ae7ff000d, likely client has closed socket
at org.apache.zookeeper.server.NIOServerCnxn.doIO(NIOServerCnxn.java:239)
at org.apache.zookeeper.server.NIOServerCnxnFactory.run(NIOServerCnxnFactory.java:203)
at java.lang.Thread.run(Thread.java:748)
2018-08-08 04:33:09,135 [myid:2] - INFO [ProcessThread(sid:2 cport:-1)::PrepRequestProcessor@648] - Got user-level KeeperException when processing sessionid:0x364fb4b59dd0014 type:setData cxid:0x17e zxid:0x50000c51f txntype:-1 reqpath:n/a Error Path:/brokers/topics/__consumer_offsets/partitions/46/state Error:KeeperErrorCode = BadVersion for /brokers/topics/__consumer_offsets/partitions/46/state
来自kafka常见问题解答 [https://cwiki.apache.org/confluence/display/KAFKA/FAQ#FAQ-HowtoreducechurnsinISR?WhendoesabrokerleavetheISR?][1]
ISR主要由两个参数控制:replica.lag.time.max.ms
和replica.lag.max.messages
。我们遵循下面的星际大战。
参考文献:
[https://www.slideshare.net/jjkoshy/offset-management-in-kafka?from_action=save][1] [http://wanwenli.com/kafka/2016/11/04/Kafka-Group-Coordinator.html][1] [http://javierholguera.com/2018/06/13/kafka-defaults-that-you-should-re-consider-i/][1] [https://cwiki.apache.org/confluence/display/KAFKA/FAQ#FAQ-HowtoreducechurnsinISR?WhendoesabrokerleavetheISR?][1] [https://grokbase.com/t/kafka/users/143e19twfg/zookeeper-exception][1]