[英]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.