This member will leave the group because consumer poll timeout has expired.

在使用logstash讀取kafka中的數據時過一段時間之後logstash會報出leave group的錯誤,此後數據不再讀入。懷疑是由於kafka每次poll的量太大或者poll的間隔太小,導致上一次度的數據還沒有消費完,就又要去poll,但實際上此時無法繼續去拉取新數據,這樣如果時間久了,可能就會認爲consumer停止了通信,從而被驅除group。

根據自己的應用場景數據量對input中的如下三個配置項做出了測試後的調整:

max_poll_interval_ms=>"60000"
max_poll_records=>"50"
consumer_threads=>"5"

另外,根據上面的猜測,又將logstash的filter中對數據進行處理的filter中的處理邏輯進行了優化,如果使用的是grok插件解析,可以將某兩個較長的字段合併爲一個字段,然後再在後面用ruby插件將其拆分,這樣或許會提高grok中的處理性能,結合上面兩個方面的優化調整,問題得以解決。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章