Apache kafka 如何扩展max.incremental.fetch.session.cache.slots

Apache kafka 如何扩展max.incremental.fetch.session.cache.slots,apache-kafka,Apache Kafka,我正在运行一个有点大的Kafka集群,但目前我无法正确设置max.incremental.fetch.session.cache.slots,需要一些指导。关于这方面的文档也不清楚: 我所说的规模是指:3个节点,约400个主题,4500个分区,300个用户组,500个用户 有一段时间,我看到日志中出现了FETCH\u SESSION\u ID\u NOT\u FOUND错误,并希望解决这些错误 因此,我尝试增加配置中的值,重新启动所有代理,池很快再次填满,达到最大容量。这减少了错误的发生,但它们

我正在运行一个有点大的Kafka集群,但目前我无法正确设置
max.incremental.fetch.session.cache.slots
,需要一些指导。关于这方面的文档也不清楚:

我所说的规模是指:3个节点,约400个主题,4500个分区,300个用户组,500个用户

有一段时间,我看到日志中出现了
FETCH\u SESSION\u ID\u NOT\u FOUND
错误,并希望解决这些错误

因此,我尝试增加配置中的值,重新启动所有代理,池很快再次填满,达到最大容量。这减少了错误的发生,但它们并没有完全消失。起初我将值设置为2000,它立即就满了。然后分几步进行,直至达到100.000。游泳池在40分钟内就被填满了

从文档中,当
min.incremental.fetch.session.execution.ms
启动时,我预计池将在2分钟后结束。但情况似乎并非如此


衡量缓存适当大小的标准是什么。我看到的错误是否仍然可以在经纪人身上纠正,或者我是否需要追查配置错误的消费者?如果是这样,我需要注意什么?

如此高的获取会话使用率很可能是由坏客户机造成的

,Golang客户端,出现了一个问题,导致在版本1.26.0和1.26.2之间的每个获取请求上分配新的获取会话,请参阅


我建议您检查是否有用户运行此客户端,并确保他们更新到最新版本。

是否有任何消费者使用Sarama(golang)客户端?这个Kafka客户端的最新版本有一个bug,导致它在每次轮询时创建一个新的FetchSession。除恶意客户端外,我不太明白500个消费者如何使用100000个FetchSessions@MickaelMaison是的,事实上有一半的消费者正在使用sarama。我将研究这些问题并尝试更新它们。非常感谢你的建议@米凯尔梅森我现在已经证实,萨拉玛是这里的罪魁祸首。如果你把它作为答案贴出来,我会很乐意把它标记为已回答。要验证这一点:tcpdump端口9092上的流量,请使用Wireshark打开并筛选
kafka.fetch\u session\u epoch==0
。如果客户端出现过多,可能会受到影响。(如果您在服务中设置ClientID,使它们能够很好地表示出来,这将非常有帮助)。