我正在尝试设置多节点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
中答案 0 :(得分:8)
Kafka没有" master"和"奴隶"关于其代理的节点(与Apache Hadoop,Spark或Storm等相关技术不同)。 "可以说,所有经纪人都是平等的#34;所以这是个好消息 - 你不需要配置任何特别的东西!您需要做的就是启动三个代理流程*,他们将透明地弄清楚如何合作。
是的,有一个leaders and followers for topic partitions/replicas的概念,但所有这些都是在幕后为您自动管理的。此外,领导者/跟随者分配是动态的,并且可能在运行时发生变化。例如,如果代理B1
是分区P8
的当前领导者而代理B1
随后崩溃,那么作为分区P8
的关注者的其中一个代理将自动成为被选为P8
的新领导者(比如经纪人B3
)。一旦经纪人B1
再次活着,它通常会成为新选出的领导人B3
关于分区P8
的追随者。
*我假设这些进程将在不同的机器上运行,否则(即如果所有三个代理进程在一台机器上运行),您必须为每个进程分配不同的port
设置。