1. 程式人生 > >關於kafka重新消費數據問題

關於kafka重新消費數據問題

關於 無法 bsp 刪除 通過 sum 指定 重復 設置

我們在使用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,點擊這裏。

關於kafka重新消費數據問題