看来您可以改用以下脚本:
bin/kafka-topics.sh --zookeeper zk_host:port/chroot --alter --topic my_topic_name --partitions 40
在代码中,看起来他们在做同样的事情:
AdminUtils.createOrUpdateTopicPartitionAssignmentPathInZK(topic, partitionReplicaList, zkClient, true)
kafka-topics.sh执行这段代码以及kafka-
add-
partition脚本使用的AddPartitionsCommand。
但是,使用密钥时,您必须注意重新分区:
请注意,分区的一种用例是在语义上对数据进行分区, 添加分区不会更改现有数据的分区,
因此如果消费者依赖该分区,这可能会打扰消费者。就是说,如果对数据进行了分区,hash(key) %number_of_partitions则该分区可能会通过添加分区而被打乱,但是Kafka不会尝试以任何方式自动重新分配数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)