springboot版本是2.0.1,
kafka-clients版本是1.0.1,
kafka server的版本是0.11
生產者配置只有 enable.idempotence: true 為特殊配置, 為了確保訊息不會出現重復發送, 其余均為默認.
目前的情況是服務在每天凌晨的時候有一個topic會出現生產者阻塞的情況, 具體例外為:
Failed to send; nested exception is org.apache.kafka.common.errors.TimeoutException:
Expiring 2 record(s) for myTopic-3: 59349 ms has passed since last append
并且其他所有生產者都發送不了, 其他生產者也會出現例外:
org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
但是只有這一個服務會出現這種情況, 其他20多個涉及kafka的服務均能正常消費和生產, 這個服務重啟以后也能正常作業, 但是一到凌晨5-6點左右又會出現上述情況又需要重啟.
目前查看了服務器網路, 記憶體, I/O,CPU等, 凌晨的消耗是很小的, 資料量也不大;
這個topic一天大概會有150w左右的資料量, 基本都在白天, 晚上大概會有不到10w的資料量.
現在就是搞不明白為何凌晨會出現這個問題.
uj5u.com熱心網友回復:
看下日志,看看這段時間點發送的資料內容是什么?再看看這段時間點內其他服務有無在搞什么事情?uj5u.com熱心網友回復:
看過日志了, 沒有其他服務在大規模運行, CPU消耗不到5%, 記憶體不到40%, I/O和網路都是很正常的狀態, 而且這個topic的處理邏輯還很簡單, 基本就是透傳, 服務會從上游topic接受訊息然后轉協議再發到這個topic, 這個topic的消費者是spark, 對資料進行計算.
uj5u.com熱心網友回復:
myTopic-3: 59349 ms has passed since last append感覺這個主題有問題,刪了重新建一個試試
uj5u.com熱心網友回復:
重連就可以了, 服務一重啟又可以續命一天, 而且是資料量小的時候容易出現問題, 很奇怪
uj5u.com熱心網友回復:
資料量大正常,資料量小,出現斷開情況,可以考慮 是否配置了 最大空閑時間 導致連接斷開。uj5u.com熱心網友回復:
的確配置了最大空閑時間, 但是其他topic也是一樣的配置啊, 像發送短信驗證碼的topic有時候幾天十幾天都沒一條訊息都好好的.這個topic就很奇怪.
uj5u.com熱心網友回復:
你好解決了嗎,能請教下嗎轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/107590.html
標籤:Java相關
