錯誤日誌:
ERROR [ReplicaFetcher replicaId=0, leaderId=2, fetcherId=0] Exiting because log truncation is not allowed for partition IRT_Dev_HeartBeat-18, current leader's latest offset 45479 is less than replica's latest offset 46250 (kafka.server.ReplicaFetcherThread)
解決辦法:
在配置文件中間添加如下
#分區水位不同步導致kafka退出問題解決,
#unclean.leader.election.enable=true
問題分析:
------------------------
這種致命的錯誤導致的原因有很多。
1、磁盤滿了
2、數據被破壞了
核心的錯誤是leader的數據比副本少,數據已經不一致了,依次重啓試試。或者放棄掉副本的數據。
unclean.leader.election.enable=true
用這個參數,可能會丟數據,慎用。
-----------------------
其中這個跟我的問題很像。大概意思是follower因爲某種原因,從leader中被剔除,而如果此時leader partitions重啓,很可能會造成緩存數據丟失以至於leader LEO<follower LEo,follower partition所在broker會退出。我查了源碼確實會退出