无法将Kafka保留策略设置为压缩和删除

时间:2019-03-14 17:51:31

标签: apache-kafka

根据以下链接,我应该能够将retention.policy的值设置为"compact,delete"

https://issues.apache.org/jira/browse/KAFKA-4015

https://cwiki.apache.org/confluence/display/KAFKA/KIP-71%3A+Enable+log+compaction+and+deletion+to+co-exist

但是,当我尝试通过运行更改保留策略时:

./kafka-configs.sh --zookeeper $KAFKAZKHOSTS  --entity-type
 topics --alter --add-config cleanup.policy=compact,delete --entity-name topicname

我遇到以下错误:

requirement failed: Invalid entity config: all configs to be added must be in the format "key=val".

4 个答案:

答案 0 :(得分:2)

func deleteCell(sender: AnyObject) { let pointInTable: CGPoint = sender.convert(sender.bounds.origin, to: self.Table) let cellIndexPath = self.Table.indexPathForRow(at: pointInTable) let point = cellIndexPath!.row }

答案 1 :(得分:1)

您需要提供清除策略的值。例如,如果要将其设置为7天,则应提供配置cleanup.policy=compact,delete.retention.ms=604800000

现在完整的命令如下:

./kafka-configs.sh --zookeeper $KAFKAZKHOSTS --entity-type topics --alter --add-config cleanup.policy=compact,delete.retention.ms=604800000 --entity-name topicname

答案 2 :(得分:0)

您必须将配置文件用引号引起来:--add-config 'cleanup.policy=compact,delete'

答案 3 :(得分:0)

事实证明,当您第一次创建主题时,可以将策略设置为压缩和删除,但是事后便无法更改。