承襲上一節課針對consumer group的行為解釋
接著問題轉到如何針對consumer group操作
所以要用另一個指令:
kafka-consumer-groups
首先來看list,看看先前開了那些group(注意bootstrap-server是必要項目)
kafka-consumer-groups --bootstrap-server localhost:9092 --list
舊版(2.1以前)的kafka還會出現像:console-consumer-亂數 這樣的group id
接著針對特定group id看看describe來看資訊
kafka-consumer-groups --bootstrap-server localhost:9092 --describe --group my-another-app
上圖看到my-another-app has no active member
(i.e.沒有實際啟動中的consumer)
並看到同一個topic(first_topic)分了三個PARTITION(0、1、2)
然後各個PARTITION有各自的CURENT-OFFSET(已讀該PARTITION第幾筆)
LOG-END-OFFSET(該PARTITION內有多少筆)
LAG(consumer內尚未接收幾筆),如圖三個PARTITION的LAG都是0筆
同樣是著看另一個group id(my-first-app)的describe
試著用前一節學的指令去讀取未讀的訊息
kafka-console-consumer --bootstrap-server localhost:9092 --topic first_topic --group my-first-app
跳出consumer console後再看一是同一個group id的describe
我們再開另一個視窗開啟consumer console(指定my-first-app這個group id)
並在原視窗看一次describe
上圖看到PARTITION 0是被CONSUMER-ID:consumer-my-first-app-1–048167fa後面blablablablablabla一長串的讀取
因為目前只開一個consumer console,所以每個PARTITION都是被同個CONSUMER ID去讀取