【kafka】kafka0.11版本follower水位高於leader解決辦法

 

錯誤日誌:

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會退出。我查了源碼確實會退出

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章