Python KafkaProducer 无法设置复制因子

Python KafkaProducer cannot set replication factor

事实上,在 kafka 中创建主题时,可以设置复制因子,但是我使用的是 KafkaProducer(kafka api for python pip install kafka

我以为我可以做到 producer.send(...,replication-factor=3)但后来我别无选择。

现在我只有一个选择了,就是直接创建一个shell脚本来连接kafka来创建一个主题,但是如果python kafka的功能如此乏味,我为什么还要继续使用它。那么有没有办法在我要制作kafka主题时设置复制因子。

kafka-python 目前不支持 Kafka Admin API。通过此客户端创建主题的唯一方法是依赖自动创建代理功能。

但是,如您所见,这不允许您提供任何主题配置。

您可以:

  • 通过在代理的 server.properties 文件中设置 default.replication.factor=3,在代理配置中设置复制因子(将应用于所有主题)。

  • 使用脚本(如 kafka-topics.sh 工具)明确创建具有自定义设置的主题。

Kafka Admin API 仍然相对较新,除了官方 Java 客户端之外很少有客户端支持它。