小G今天做項目的時候,遇到測試環境無法消費消息問題,具體查詢如下:
名詞:group.id :消費組,項目目前都是多集羣搭建,防止多臺機子消費導致數據錯誤,冪等
環境kafka環境介紹,
kafka +zookeeper,zooker負責消費
首先進入kafka的bin目錄,
cd /usr/local/kafka/bin
查詢消費是否被消費,查詢消費列命令
./kafka-consumer-groups.sh --describe --group 消費組(group.id)--zookeeper zookeeper的ip
PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
topic名字 分區id 當前已消費的條數 總條數 未消費的條數 消費id 主機ip 客戶端id
查看下LAG看看有多少未消費數,如果有沒有未消費的說明,有多人在使用消費組,可以重新換個消費組試試,如果有未消費,可以根據下面的命令進行模擬
然後模擬下消費者看看是否可以消費
./kafka-consumer-groups.sh --describe --group 消費組 (group.id) --zookeeper zookeeper的ip
bin/kafka-console-consumer.sh -zookeeper zookeeper的ip:2181 --from-beginning --topic 主題topic
如果消費正常
然後模擬下生產者:
```powershell
> bin/kafka-console-producer.sh --broker-list kafka的ip:9092 --topic 主題的名稱topic
如果都是正常的就是,
1、懷疑:代碼有問題,如果可以本地代碼調試根據上面的模擬命令
2、端口的問題:telnet測試下ip端口是否連通
3、查看下是否都運行正常代碼跟項目是否鏈接正常