我正在尝试设置一个多节点 kafka 集群并具有以下三个配置文件。但是我怎么知道哪个节点是主节点呢?
broker.id=1
port=9093
log.dir=/data/logs/kafka/kafka-logs-1
在 config/server1.properties 中
broker.id=2
port=9093
log.dir=/data/logs/kafka/kafka-logs-2
在 config/server2.properties 中
broker.id=3
port=9093
log.dir=/data/logs/kafka/kafka-logs-3
在 config/server3.properties 中
最佳答案
Kafka 没有关于其代理的“主”和“从”节点的概念(与 Apache Hadoop、Spark 或 Storm 等相关技术不同)。 “所有经纪人生而平等”,可以这么说。所以这是个好消息——您不需要配置任何特殊的东西!您需要做的就是启动三个代理进程*,它们将透明地弄清楚如何合作。
是的,有一个 leaders and followers for topic partitions/replicas 的概念,但所有这些都是在幕后为您自动管理的。此外,领导者/追随者分配是动态的,可能会在运行时发生变化。例如,如果 broker B1
是分区 P8
的当前领导者,并且 broker B1
随后崩溃,那么作为分区 P8
的追随者之一的 broker 将自动被选为 P8
的新领导者(例如,broker B3
)。 Once broker B1
is alive again, it will typically become a follower of the newly elected leader B3
with regards to partition P8
.
*我假设这些进程将在不同的机器上运行,否则(即如果所有三个代理进程都在一台机器上运行)您必须为每个进程分配不同的 port
设置。
关于apache-kafka - 多节点kafka集群中的master节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36558917/