我在文档中找不到如何使用confluent-kafka创建生产者时设置保留时间。
如果我只指定'bootstrap-servers',则默认保留时间为1天。我希望能够改变它。
(我希望在python API中不在命令行上执行此操作。)
答案 0 :(得分:1)
保留时间是在创建主题时设置的,而不是在生产者配置上设置的。
如果您的server.properties
允许自动创建主题,则将在其中设置默认设置。
否则,您可以使用AdminClient API发送一个NewTopic
请求,该请求支持config
的{{1}}属性
dict<str,str>
在同一链接中,您可以找到更改主题的请求
答案 1 :(得分:0)
保留时间不是生产者的财产。 默认保留时间在代理程序configfile server.properties 和 log.retention.hours 等属性中设置,例如: /etc/kafka/server.properties ...取决于您的安装。
您可以通过例如
更改每个主题的保留时间$ <path-to-kafka>/bin/kafka-topics.sh --zookeeper <zookeeper-quorum> --alter --topic <topic-name> --config retention.ms=<your-desired-retention-in-ms>
... HTH