我是kafka的新手,我现在在一台机器上运行kafka。我想在多台机器上的分布式环境中运行kafka。没有适当的文档。任何关于此的文档或建议都会非常有用。
答案 0 :(得分:4)
用户2720864添加上一个答案
让我们假设需要具有以下配置的Kafka系统。
7个Kafka节点
3名动物园饲养员
要在7个不同的服务器/虚拟机(实例)中实现此安装7个Kafka实例,并且在每个实例中设置不同的代理ID,这将使zookeeper识别用于簿记和维护的不同kafka节点。 broker.id = X(/config/server.properties)
要启动zookeepers,您可以使用之前的3个kafka实例,也可以使用新服务器启动zookeepers。确定运行zookeepers的服务器后,更改/config/server.properties以指定zookeepers。
zookeeper.connect =主机名1:PORT1,主机名2:端口2
在分布式环境中,拥有3个动物园饲养员很不错。虽然只有一个动物园管理员充当真正的主人,但其他2个动物园管理员则表现为失败。当主设备发生故障时,两个ZK中的一个将接管为主设备。
我发现这个link非常有用,它帮助我澄清了很多关于kafka架构的事情。
This是kafka中属性文件的所有配置的一个很好的参考。
希望这有帮助!
答案 1 :(得分:2)
基本上你需要做下面的事
1)在所有机器上设置kafka
2)配置config/server1.properties
属性文件,为每台计算机指定唯一的id
。您可以通过在配置文件中设置broker.id
属性来实现。例如broker.id=1
,broker.id=2
。对于每个经纪人来说,这个id应该是唯一的。这就是kafka集群中每个节点的标识方式。
3)在所有节点中启动kafka
您可以在官方快速入门页面中提及Step 6: Setting up a multi broker cluster。
同样here是值得一看的好文章