gpt4 book ai didi

apache-kafka - Kafka 0.8,是否可以使用java代码创建带有分区和复制的主题?

转载 作者:行者123 更新时间:2023-12-04 01:07:16 25 4
gpt4 key购买 nike

在 Kafka 0.8beta 中,可以使用如下所述的命令创建主题 here

    bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 2 --partition 3 --topic test

上面的命令将创建一个名为“test”的主题,其中包含 3 个分区和每个分区 2 个副本。

我可以使用 Java 做同样的事情吗?

到目前为止,我发现使用 Java 我们可以创建一个生产者,如下所示
    Producer<String, String> producer = new Producer<String, String>(config);
producer.send(new KeyedMessage<String, String>("mytopic", msg));

这将创建一个名为“mytopic”的主题,其分区数使用“num.partitions”属性指定并开始生成。
但是有没有办法定义分区和复制?我找不到任何这样的例子。如果我们不能,那么这是否意味着我们总是需要先创建带有分区和复制的主题(根据我们的要求),然后使用生产者在该主题内生成消息。例如,如果我想以相同的方式创建“mytopic”但具有不同数量的分区(覆盖 num.partitions 属性),是否有可能?

最佳答案

注意:我的回答涵盖了 Kafka 0.8.1+,即截至 2014 年 4 月可用的最新稳定版本。

是的,您可以通过 Kafka API 以编程方式创建主题。是的,您可以指定所需的分区数以及主题的复制因子。

请注意,最近发布的 Kafka 0.8.1+ 提供了与 Kafka 0.8.0(Biks 在他的链接回复中使用的)略有不同的 API。我添加了一个 code example to create a topic in Kafka 0.8.1+我对问题的回复How Can we create a topic in Kafka from the IDE using API Biks 上面提到的那个。

关于apache-kafka - Kafka 0.8,是否可以使用java代码创建带有分区和复制的主题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18225263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com