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中的处理性能,结合上面两个方面的优化调整,问题得以解决。

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