關於kafka重新消費資料問題
阿新 • • 發佈:2018-12-23
我們在使用consumer消費資料時,有些情況下我們需要對已經消費過的資料進行重新消費,這裡介紹kafka中兩種重新消費資料的方法。
1. 修改offset
我們在使用consumer消費的時候,每個topic會產生一個偏移量,這個偏移量保證我們消費的訊息順序且不重複。Offest是在zookeeper中儲存的,我們可以設定consumer實時或定時的註冊offest到zookeeper中。我們修改這個offest到我們想重新消費的位置,就可以做到重新消費了。具體修改offest的方法這裡就不詳細介紹了,想了解的可以在我的部落格kafka類中有相關文章,也可以點選這裡瞭解。
2. 通過使用不同的group來消費
通過不同的group來重新消費資料方法簡單,但我們無法指定我們要重複消費哪些資料,它會從這個groupid在zookeeper註冊之後所產生的資料開始消費。這裡需要注意的是新的group是重新消費所有資料,但也並非是topic中所有資料,它只會消費它在zookeeper註冊過之後產生的資料。我們可以再zookeeper客戶端中 /consumer/ 目錄下檢視我們已經註冊過的groupid。我們在使用consumer消費資料時如果指定一個新的groupid,那麼當這個consumer被執行的時候會自動註冊到zookeeper中。而這個group中的consumer之後消費到註冊之後產生的資料。
關於如何刪除在zookeeper中註冊的groupid,點選這裡。
——————————————————————————————————
作者:桃花惜春風
轉載請標明出處,原文地址:
如果感覺本文對您有幫助,請留下您的贊,您的支援是我堅持寫作最大的動力,謝謝!