Kafka 2.0課程 11 Consumer Group CLI

Consumer Group CLI(Command Line Interface)

ZONGRU Li
Jan 15, 2020

在學習執行相關指令前,請先確認Server啟動(或參考課程6)

承襲上一節課針對consumer group的行為解釋

接著問題轉到如何針對consumer group操作

所以要用另一個指令:

kafka-consumer-groups

第二行說明可以list desc del reset offset地操作group

首先來看list,看看先前開了那些group(注意bootstrap-server是必要項目)

kafka-consumer-groups --bootstrap-server localhost:9092 --list

看到前面開了三個group id

舊版(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

有total四筆未讀!

試著用前一節學的指令去讀取未讀的訊息

kafka-console-consumer --bootstrap-server localhost:9092 --topic first_topic --group my-first-app

跳出consumer console後再看一是同一個group id的describe

LAG都清空了!

我們再開另一個視窗開啟consumer console(指定my-first-app這個group id)

並在原視窗看一次describe

上圖看到PARTITION 0是被CONSUMER-ID:consumer-my-first-app-1–048167fa後面blablablablablabla一長串的讀取

因為目前只開一個consumer console,所以每個PARTITION都是被同個CONSUMER ID去讀取

參考課程

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet