簡體   English   中英

卡夫卡消費群未從單個分區讀取

[英]Kafka consumer group not reading from a single partition

我有一個帶有3個分區的kafka主題。 我有一個消費群體正在使用該主題,並且我注意到3個分區中的2個正在實時使用(滯后0),而1個分區根本沒有使用。

我該如何診斷此問題?

贊賞輸入/評論。

要診斷問題,您可以使用kafka-tool。

以下命令顯示特定組的分區,當前偏移量,log-end-offset和滯后client_id

./bin/kafka-consumer-groups.sh --bootstrap-server kafkaAddres:9092 --group yourGroupId --describe

輸出將是這樣的:

TOPIC           PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG             CONSUMER-ID                                     HOST            CLIENT-ID
input           0          3               4               1               consumer-1-f64504ca-f514-4cef-95fa-1652702d4504 /192.168.160.1  consumer-1
input           1          3               3               0               consumer-1-f64504ca-f514-4cef-95fa-1652702d4504 /192.168.160.1  consumer-1
input           2          3               3               0               consumer-1-f64504ca-f514-4cef-95fa-1652702d4504 /192.168.160.1  consumer-1

上面的輸出顯示,只有一個使用者連接並從所有分區讀取。 在檢查分區時,滯后0為1。

注意 :某些分區可能是空的

為了反映您的新分區,您需要為使用者配置metadata.max.age.ms屬性。

元數據包含給定主題的分區,以及哪些代理是這些分區的領導者,等等。當第一次poll發生時,消費者將獲取該元數據,而在超時或發生某些錯誤之后,則將其獲取。

默認情況下,超時為300000ms = 5 minutes ,因此直到5分鍾,您的使用者才知道新分區。

當出現錯誤或達到元數據的最大使用期限時,將刷新元數據。

consumerProperties.put(ConsumerConfig.METADATA_MAX_AGE_CONFIG,"60000");

因此,請嘗試將其設置為較低的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM