将Kafka设置从单节点群集迁移到多节点群集

时间:2019-04-22 11:27:36

标签: apache-kafka apache-zookeeper

当前,我们在Kafka上没有太多负担。但是我们预计将来会有一些不错的负担。因此,出于削减成本的考虑,我们计划暂时将Kafka堆栈仅包含一个节点(一个Zookeeper和一个Kafka Broker),然后基于负载,我们希望使其成为一个适当的群集(具有3个节点)至少)。

以这种方式启动(从一个节点开始,然后添加更多节点)是否可以。

我在某处读到它不可能无缝地完成。有人可以解释如果不行怎么办?

1 个答案:

答案 0 :(得分:2)

您将需要停机才能停止Zookeeper + Kafka,编辑配置以包括更多服务器,然后再备份它们。用这些术语来说,它不是无缝的,因为将导致应用程序读/写服务中断。但是一旦一切重新开始,那应该没问题。

在本地环境之外,即使您只有一个经纪人,也建议绝对至少要有3位Zookeeper。仅仅一台Zookeeper服务器的故障对于Kafka来说确实是一件很糟糕的事情。建议您至少拥有3个用于复制和容错的代理,尽管您要承担多少负载。至少拥有一份数据总比没有好。

您不需要使用Kafka均匀地缩放Zookeeper;例如3个ZK + 1个代理,然后在以后添加更多代理,对于大型集群,请不要超过5-7个Zookeeper。