kafka ack機制 出現故障資料同步問題

2021-10-22 21:01:05 字數 899 閱讀 4494

0:

producer不等待broker的ack,這一操作提供了乙個最低的延遲,broker一接收到還沒有寫入磁碟就已經返回,當broker故障時有可能丟失資料;

例如:當leader掛了,producer仍然往這個leader傳送訊息,就會造成資料丟失

1:producer等待broker 的ack,partition的leader落盤成功後返回ack,如果在 follower同步成功之前leader 故障,那麼將會丟失資料;

例如:當leader已經將收到的資料寫入磁碟然後傳送ack,但是follower還沒有同步訊息,那麼此時leader掛了的話,這些資料將會丟失。

-1:producer等待broker的ack,partition的 leader和 follower全部落盤成功後才返回ack。但是如果在 follower同步完成後,broker傳送ack 之前,leader 發生故障,那麼會造成資料重複。

例如:follower剛剛同步完成,此時leader還沒有傳送ack,leader掛了之後,重新選出新的leader,而producer沒有收到ack,於是重發訊息,此時新leader又收到了相同的訊息,產生資料重複的問題。

1、follower發生故障:

follower發生故障後會被臨時踢出isr,待該follower恢復後,follower會讀取本地磁碟記錄的上次的hw,並將log 檔案高於hw的部分擷取掉,從hw開始向leader進行同步。等該follower的leo大於等於該partition的hw,即 follower追上 leader之後,就可以重新加入isr了。v

2、leader發生故障:

leader 發生故障之後,會從isr中選出乙個新的leader,之後,為保證多個副本之間的資料一致性,其餘的follower會先將各自的 log檔案高於hw的部分截掉,然後從新的leader同步資料。

Hadoop中namenode出現故障的解決方法

namenode故障後,可以採用如下兩種方法恢復資料。方法一 將secondarynamenode中資料拷貝到namenode儲存資料的目錄 方法二 使用 importcheckpoint 選項啟動namenode守護程序,從而將secondarynamenode中華資料拷貝到namenode目錄中...

NameNode出現故障的處理方法

在集群的執行過程中,可能會出現namenode宕機的情況,在這裡我貼出來乙個有效的辦法來解決namenode的方法。在主節點上面jps檢視namenode程序,然後 kill 9 namenode程序號 2.刪除主節點上namenode儲存的資料 opt module hadoop 2.7.2 da...

物聯網卡出現故障怎麼處理?

隨著物聯網卡的持續火爆,許多人在使用物聯網卡的過程中難免會遇到各種各樣的故障問題,那麼這些問題該如何解決呢?物聯網卡遇到問題的處理方法 1 檢查物聯網卡有沒有與相對應的物聯網裝置連線好,在絕大多數情況下,3g終端裝置智只能連線3g網聯網絡卡,4g終端裝置連線4g物聯網卡,如果你的裝置沒有相對應就需要...