Python 如何使用带有分区和复制的pykafka创建新主题?

Python 如何使用带有分区和复制的pykafka创建新主题?,python,apache-kafka,kafka-python,Python,Apache Kafka,Kafka Python,我希望能够使用编程在Kafka中创建一个主题。我知道,如果主题不存在,访问TopicDict将自动创建一个主题,但我不知道如何使用它控制分区/副本的数量。此外,它还有一个令人讨厌的bug,如果卡夫卡倒下,它将以无限循环结束。基本上,我想做如下事情: create_topic('mytopic', partitions=2, replicas=3) Pykafka是Kafka生产者和消费者API的Python实现,您想要实现的是在Kafka中使用另一个API,管理/操作API(实际上是一组Jav

我希望能够使用编程在Kafka中创建一个主题。我知道,如果主题不存在,访问TopicDict将自动创建一个主题,但我不知道如何使用它控制分区/副本的数量。此外,它还有一个令人讨厌的bug,如果卡夫卡倒下,它将以无限循环结束。基本上,我想做如下事情:

create_topic('mytopic', partitions=2, replicas=3)

Pykafka是Kafka生产者和消费者API的Python实现,您想要实现的是在Kafka中使用另一个API,管理/操作API(实际上是一组Java类)执行的操作。我不认为Pykafka有这样的API/包装器。
你可能正在观察卡夫卡自动创建的主题。您可以使用属性为自动创建的主题配置默认数量的分区和副本。

您可以使用
子流程来完成此操作

如果你安装了,你可以这样做

from pykafka import KafkaClient
import subprocess

client = KafkaClient(hosts="localhost:9092")

subprocess.Popen("PATH/TO/KAFKA/BINARY/kafka_2.11-1.0.0/bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic testtopic --replication-factor 1 --partitions 10".split())