2016-12-27 155 views
2

我創建了一個卡夫卡話題10個分區的所有分區消費消息,並試圖通過一個單一的卡夫卡消費者消費消息。但是,卡夫卡消費者不會閱讀所有分區的消息。更具體地說,它僅消費來自5個特定分區的消息。 實施例:消費者消費消息從[0,1,2,3,4]只。如果它重新開始消費來自[5,6,7,8,9]的消息,那麼它將僅消耗來自這些分區的消息。 這裏是kafka-consumer-offset-checker.sh命令的輸出卡夫卡消費者不是從

Group|Topic | Pid | Offset | logSize| Lag  | Owner 
GRP1 | topic1 | 0 | 128  | 175 | 47  | none 
GRP1 | topic1 | 1 | 117  | 146 | 29  | none 
GRP1 | topic1 | 2 | 62  | 87  | 25  | none 
GRP1 | topic1 | 3 | 101  | 143 | 42  | none 
GRP1 | topic1 | 4 | 104  | 145 | 41  | none 
GRP1 | topic1 | 5 | 118  | 118 | 0   | none 
GRP1 | topic1 | 6 | 111  | 111 | 0   | none 
GRP1 | topic1 | 7 | 161  | 161 | 0   | none 
GRP1 | topic1 | 8 | 144  | 144 | 0   | none 
GRP1 | topic1 | 9 | 171  | 171 | 0   | none 

有誰知道爲什麼它的發生..?

+0

顯示你消費的例子嗎?你也可以使用'kafkacat'來驗證預期的行爲。 – objectuser

+0

我有一個類似的問題,但我們有32個分區,它只是從分區7. –

回答

0

我這周有同時使用spark streaming從卡夫卡話題32個分區讀取類似的問題。具體而言,我們使用由apache org.apache.spark.streaming.kafka010.*提供的spark kafka流類。

我們只能從單個分區消耗。這個問題是因爲我們使用我們的jar包含了kafka版本0.10.1.0。即使我們的羣集位於0.10.1.0上,恢復到0.10.0.1也能修復它。

+0

閱讀我漸漸因爲消費者的兩個實例,這都拿到,由於一些部署問題創造了這個問題。它解決了我修復構建文件。我正在使用0.9.x jar。 – Manu

+0

是的,聽起來像我們的問題並不相同。很高興你想出來了。 –

+0

@NathanLoyer我也面臨同樣的問題,我的卡夫卡經紀人版本是0.10.2,我的卡夫卡jar版本是0.10.2。所以我應該使用較舊的卡夫卡jar版本。這將解決問題,或者我應該嘗試其他方法。 – Abhimanyu