[英]Assign leader to partitions of kafka topic while creating topics in nodeJS
我有一个 kafka 代理,并且正在使用 kafka-node 在 nodeJS 中实现 kafka。 我想创建一个包含 3 个分区的主题。 这样做时,出现的问题只是第一个分区正在获得领导者分配,而其他两个分区没有获得领导者。 我想为所有分区分配领导者。 谁能告诉我我怎么能做到这一点? 提前致谢。
var client = new kafka.KafkaClient();
var topic = 't-26';
var topicsToCreate = [
{
topic: topic,
partitions: 3,
Leader: 0,
replicationFactor: 1,
replicaAssignment: [
{
partition: 0,
replicas: [0]
},
{
partition: 1,
replicas: [1]
},
{
partition: 2,
replicas: [2]
}
]
},
];
client.createTopics(topicsToCreate, (error, result) => {
console.log(result);
});
创建的主题如下 -
Topic: t-26 PartitionCount: 3 ReplicationFactor: 1 Configs:
Topic: t-26 Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topic: t-26 Partition: 1 Leader: none Replicas: 1 Isr:
Topic: t-26 Partition: 2 Leader: none Replicas: 2 Isr:
您正在“全局”定义领导者位于 ID 为0
代理上,而您希望分区1
和2
位于其他代理上。 当您将复制定义为一个时,这本身就是矛盾的。 删除有关Leader
的部分,它应该会自动在您想要的代理上创建分区领导者。
由于@mike,我得到了一个提示并解决了这个问题。 我做了以下-
删除leader=0
并将所有副本设置为 0 个replicas: [0]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.