我有一个kafka代理,正在使用kafka节点在nodejs中实现kafka。我想用3个分区创建一个主题。执行此操作时,出现的问题是,只有第一个分区得到了leader assign,而其他两个分区没有得到leader。我要为所有分区指定引线。谁能告诉我怎么做?提前谢谢。
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:
2条答案
按热度按时间33qvvth11#
因为@mike,我得到了一个提示并解决了这个问题。我做了以下事情-
删除
leader=0
并将所有副本设置为0replicas: [0]
8xiog9wr2#
您正在“全局”定义要在id为的代理上的领导者
0
但是你想要分区1
以及2
位于其他经纪商。正如您定义的复制是一个,这是自相矛盾的。拆下关于Leader
它应该自动在你想要的代理上创建分区。