Kafka在分布式系统中

时间:2015-02-23 08:17:16

标签: apache-kafka

我是kafka的新手,我现在在一台机器上运行kafka。我想在多台机器上的分布式环境中运行kafka。没有适当的文档。任何关于此的文档或建议都会非常有用。

2 个答案:

答案 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=1broker.id=2。对于每个经纪人来说,这个id应该是唯一的。这就是kafka集群中每个节点的标识方式。
3)在所有节点中启动kafka

您可以在官方快速入门页面中提及Step 6: Setting up a multi broker cluster

同样here是值得一看的好文章