文章出處
文章列表
我們在使用consumer消費數據時,有些情況下我們需要對已經消費過的數據進行重新消費,這里介紹kafka中兩種重新消費數據的方法。
1. 修改offset
我們在使用consumer消費的時候,每個topic會產生一個偏移量,這個偏移量保證我們消費的消息順序且不重復。Offest是在zookeeper中存儲的,我們可以設置consumer實時或定時的注冊offset到zookeeper中。我們修改這個offest到我們想重新消費的位置,就可以做到重新消費了。具體修改offest的方法這里就不詳細介紹了,想了解的可以在我的博客kafka類中有相關文章,也可以點擊這里了解。
2. 通過使用不同的group來消費
通過不同的group來重新消費數據方法簡單,但我們無法指定我們要重復消費哪些數據,它會從這個groupid在zookeeper注冊之后所產生的數據開始消費。這里需要注意的是新的group是重新消費所有數據,但也并非是topic中所有數據,它只會消費它在zookeeper注冊過之后產生的數據。我們可以再zookeeper客戶端中 /consumer/ 目錄下查看我們已經注冊過的groupid。我們在使用consumer消費數據時如果指定一個新的groupid,那么當這個consumer被執行的時候會自動注冊到zookeeper中。而這個group中的consumer之后消費到注冊之后產生的數據。
關于如何刪除在zookeeper中注冊的groupid,點擊這里。
文章列表
全站熱搜