2017-10-08 231 views
0

多流應用我有2個分區和2所相同application.id和不同的接收器主題卡夫卡流應用的輸入話題。卡夫卡流:多主題分區

1)我開始兩個應用程序一起,他們開始接收數據,但是當我殺的應用之一,另外一個一直陷入在此。 (僅供參考,消費者設置已SESSION_TIMEOUT_MS_CONFIG設置爲120000)

[2017年10月8日00:26:17297] DEBUG [卡夫卡協調器心跳線程| ]發送對組心跳請求test.joins.hourly到協調器:9092(ID:2147483647機架:空)(org.apache.kafka.clients.consumer.internals.AbstractCoordinator) [2017年10月8日00:26:17398 ] DEBUG [kafka-coordinator-heartbeat-thread | test.joins.hourly]所獲的test.joins.hourly組(org.apache.kafka.clients.consumer.internals.AbstractCoordinator)成功的心跳響應

2)怎樣才能確保第二個應用程序啓動處理來自兩個分區的記錄?我怎樣才能證明這一點?

請幫忙!

回答

0

你所說的「另一種是卡」是什麼意思?你等了多久纔開始消費?

在你的情況下,它可能需要2分鐘簇你殺了他們中的一個後,平衡你的消費者。它也取決於heartbeat.interval.ms - 它越小,再平衡的平均時間就越短。

+0

我得到這個錯誤'org.apache.kafka.streams.errors.LockException:任務[0_1]無法鎖定任務0_1'國家目錄和上述發送心跳請求,並獲得成功的心跳不斷循環中運行更多比2分鐘。 – NoName

+1

鎖應該最終被釋放。如果沒有,這是一個錯誤。你使用什麼版本?與日誌相關的錯誤隨着時間的推移得到修復 - 升級到最新版本可能會解決問題(請注意,Kafka 1.0即將發佈)。如果您的應用程序現在處於不良狀態,則可能需要手動刪除狀態目錄以獲得乾淨的重新啓動。 –