Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 卡夫卡不同的主题设置不同的分区_Apache Kafka_Partition_Apache Zookeeper - Fatal编程技术网

Apache kafka 卡夫卡不同的主题设置不同的分区

Apache kafka 卡夫卡不同的主题设置不同的分区,apache-kafka,partition,apache-zookeeper,Apache Kafka,Partition,Apache Zookeeper,据我所知,kafka server.properties中的“num.partitions”将适用于所有主题。 现在我想为topicA设置partitionNumber=1,为topicB设置partitionNumber=2。 这可以通过高级api实现吗?num.partitions是自动生成主题时使用的值。如果您自己生成一个主题,您可以根据需要设置任意数量的分区 您可以使用以下命令自己生成主题。(复制因子3和分区数2。必须替换大写字母。) 有一个可以在Kafka代理上设置的配置值 auto.

据我所知,kafka server.properties中的“num.partitions”将适用于所有主题。 现在我想为topicA设置partitionNumber=1,为topicB设置partitionNumber=2。
这可以通过高级api实现吗?

num.partitions
是自动生成主题时使用的值。如果您自己生成一个主题,您可以根据需要设置任意数量的分区

您可以使用以下命令自己生成主题。(复制因子3和分区数2。必须替换大写字母。)


有一个可以在Kafka代理上设置的配置值

auto.create.topics.enable=true
True实际上是默认设置

在服务器上启用自动创建主题。如果设置为true,则尝试为不存在的主题生成数据或获取元数据时,将使用默认复制因子和分区数自动创建该主题

因此,如果您从一个不存在的分区进行读写,就好像它存在一样,if将自动为您创建一个分区。我从未听说过使用高级api自动创建一个


综上所述,似乎没有提供创建主题的方法。

因此,您试图通过API而不是通过“快速入门”中所示的命令行脚本来创建主题?是的。我想用api为主题设置分区。有什么想法吗?谢谢。低级api怎么样?手动创建带有分区的主题?因此高级和低级api都实现了我上面列出的协议文档。因此,似乎没有办法通过这两个API创建主题。你要么用Heejin的answer这样的命令显式创建它,要么像我在回答中说的那样设置默认配置并启用自动主题创建。谢谢。这意味着如果我想用不同的分区创建两个主题,我必须使用命令行脚本。
auto.create.topics.enable=true