Apache kafka 错误:无法更改Changelog Kafka主题的segment.bytes

Apache kafka 错误:无法更改Changelog Kafka主题的segment.bytes,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,大家好,我们使用的是Stavity微服务kafka streams,恢复这些微服务需要很多时间,有时所有的微服务都部署在pods crach中,因为初始化需要很多时间。为了减少恢复时间,我们决定将changelog主题1 GB的段大小更改为100MB,但在日志清理器中,我们再也看不到压缩过程和超过100MB时不会创建的新.log文件,就像changelog主题已经使用了1GB的旧配置一样。卡夫卡夫2.0.0 ex:-rw-r--r--1卡夫卡卡夫卡139884830 11月12日09:16 00

大家好,我们使用的是Stavity微服务kafka streams,恢复这些微服务需要很多时间,有时所有的微服务都部署在pods crach中,因为初始化需要很多时间。为了减少恢复时间,我们决定将changelog主题1 GB的段大小更改为100MB,但在日志清理器中,我们再也看不到压缩过程和超过100MB时不会创建的新.log文件,就像changelog主题已经使用了1GB的旧配置一样。卡夫卡夫2.0.0


ex:-rw-r--r--1卡夫卡卡夫卡139884830 11月12日09:16 00000000000000。在2.0.1中,segment.bytes和segment.ms仅应用于新的段。我也有同样的问题,我在当地进行了测试。因此,您需要等待活动段填满(或过期)


在2.3.0中,情况不再如此。活动段立即接收配置

我们再也看不到压缩过程了
——也许日志清理器线程死了?检查代理日志。如果可能需要重新启动代理来恢复日志清理器线程。@MatthiasJ.Sax感谢您的回答,我更改了主题中的segment.bytes,而不是在sever.properties->log.segment.bytes中,当我将segment.bytes添加到kafka主题或kafka changeLog主题中时,该值应覆盖log.segment.bytes,并且我不必重新启动代理,根据kafka doc的说法,如果我重新启动服务器,我会制造一些麻烦,我不知道这些细节在我的脑海里——但是,我相信配置更改只会应用于新的段?不会拆分或合并现有段。谢谢@MatthiasJ.Sax。您是对的,我们同意新的conf值将只应用于新的段,但我的问题是当前段。我创建了一个Kafka stream changelog主题,默认段大小为1GB,当我将段字节设置为100MB时,即使当前段的大小超过100MB,Kafka也不会创建新段。因此,我们有1GB的第一段,之后,卡夫卡创建具有正确值100MB的混合段(我使用的是卡夫卡2.0.1)@MatthiasJ.Sax要继续使用Kafka v2.0.1 Kafka,请不要立即将新的segment.bytes值应用于主题我们需要等待当前segment达到1GB,然后创建具有新值的新segment,但使用Kafka 0.10.0,会立即应用更改,将停止当前段,并创建具有新值的新段。