我使用kafka流缩减功能,它创建了一些状态存储更改日志kafka内部主题(例如app-KSTREAM-REDUCE-STATE-STORE-0000000002-changelog)。
我想设置保留字节,并将清理策略更改为删除,以防止存储空间已满。因此,我在kafka流代码中设置了以下配置:
Properties props = new Properties();
props.put(StreamsConfig.TOPIC_PREFIX + TopicConfig.RETENTION_BYTES_CONFIG, Constants.INTERNAL_TOPICS_RETENTION_BYTES);
props.put(StreamsConfig.TOPIC_PREFIX + TopicConfig.CLEANUP_POLICY_CONFIG, TopicConfig.CLEANUP_POLICY_DELETE);
KafkaStreams streams = new KafkaStreams(builder.build(), props);
但是,当生成新主题时,仅将保留配置应用于新生成的内部主题,并且清理策略保持紧凑。
是否有缺少的步骤? (或者是否有可能将内部主题清理策略设置为删除?)
我使用kafka版本 1.0.0 和kafka-streams版本 1.0.0
答案 0 :(得分:3)
感谢国章在kafka mailing list中的回答:
您描述的问题似乎是一个较早的错误,自1.1.0起已解决 (作为https://jira.apache.org/jira/browse/KAFKA-6150中修复程序的一部分)。
...您无需升级代理即可使用更新的Streams库 版本。
将kafka-streams版本升级到 1.1.0 可以解决此问题。