1. 程式人生 > >如何手動更新Kafka中某個Topic的偏移量

如何手動更新Kafka中某個Topic的偏移量

轉載:

我們在使用consumer消費資料時,有些情況下我們需要對已經消費過的資料進行重新消費,這裡介紹kafka中兩種重新消費資料的方法。

1. 修改offset

我們在使用consumer消費的時候,每個topic會產生一個偏移量,這個偏移量保證我們消費的訊息順序且不重複。Offest是在zookeeper中儲存的,我們可以設定consumer實時或定時的註冊offest到zookeeper中。我們修改這個offest到我們想重新消費的位置,就可以做到重新消費了。具體修改offest的方法這裡就不詳細介紹了,點選:https://blog.csdn.net/xiaoyu_bd/article/details/52390175

2. 通過使用不同的group來消費

通過不同的group來重新消費資料方法簡單,但我們無法指定我們要重複消費哪些資料,它會從這個groupid在zookeeper註冊之後所產生的資料開始消費。這裡需要注意的是新的group是重新消費所有資料,但也並非是topic中所有資料,它只會消費它在zookeeper註冊過之後產生的資料。我們可以再zookeeper客戶端中  /consumer/  目錄下檢視我們已經註冊過的groupid。我們在使用consumer消費資料時如果指定一個新的groupid,那麼當這個consumer被執行的時候會自動註冊到zookeeper中。而這個group中的consumer之後消費到註冊之後產生的資料。

關於如何刪除在zookeeper中註冊的groupid,點選這裡。