簡體   English   中英

在nodeJS中創建主題時將leader分配給kafka主題的分區

[英]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代理上,而您希望分區12位於其他代理上。 當您將復制定義為一個時,這本身就是矛盾的。 刪除有關Leader的部分,它應該會自動在您想要的代理上創建分區領導者。

由於@mike,我得到了一個提示並解決了這個問題。 我做了以下-

刪除leader=0並將所有副本設置為 0 個replicas: [0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM