我正在运行一个稍微大一些的Kafka集群,但目前我仍然停留在正确设置max.incremental.fetch.session.cache.slots
上,需要一些指导。有关这方面的文档也不清楚:https://cwiki.apache.org/confluence/display/KAFKA/KIP-227%3A+Introduce+Incremental+FetchRequests+to+Increase+Partition+Scalability
我的意思是:3个节点,~400个主题,4500个分区,300个消费者组,500个消费者
有一段时间,我看到日志中出现了FETCH_SESSION_ID_NOT_FOUND
错误,并希望解决这些错误。
因此,我尝试增加配置中的值,重新启动所有代理,并且池很快又被填充到它的最大容量。这减少了错误的发生,但它们并没有完全消失。一开始,我把价值设定为2000,它立刻就满了。然后几步上升到100.000。40分钟后池水就满了。
从文档中可以看出,当min.incremental.fetch.session.eviction.ms
启动时,2分钟后池就会关闭。但情况似乎并非如此。
衡量缓存适当大小的指标是什么。这些错误是我还在看到什么,我可以解决的经纪人,还是我需要找到配置错误的消费者?如果是的话,我需要注意什么呢?
发布于 2020-06-30 18:16:48
这样高使用率的Fetch会话很可能是由一个糟糕的客户端造成的。
萨拉马,一个Golang客户端,有一个问题,导致在1.26.0和1.26.2版本之间的每个提取请求上分配一个新的获取会话,参见https://github.com/Shopify/sarama/pull/1644。
我建议您检查是否有用户运行此客户端,并确保他们更新到最新版本。
https://stackoverflow.com/questions/62454882
复制相似问题