【问题标题】:Should Apache Kafka and Apache Hadoop share the same ZooKeeper instance?Apache Kafka 和 Apache Hadoop 是否应该共享同一个 ZooKeeper 实例?
【发布时间】:2014-04-09 02:05:06
【问题描述】:

是否可以使用相同的 ZooKeeper 实例来协调 Apache Kafka 和 Apache Hadoop 集群?如果是,ZooKeeper 的适当配置是什么?

谢谢!

【问题讨论】:

    标签: hadoop apache-zookeeper apache-kafka


    【解决方案1】:

    Yes,据我了解,理想情况下应该有一个带有专用机器的 Zookeeper 集群,用于管理分布式系统中不同应用程序之间的协调。我会尝试在这里分享几点

    由多个服务器组成的 zookeeper 集群通常被称为 ensemble,它基本上可以跟踪和共享应用程序的状态。例如,Kafka 使用它来提交偏移更改,以便在发生故障时它可以识别从哪里重新开始。

    来自doc 页面:
    Like the distributed processes it coordinates, ZooKeeper itself is intended to be replicated over a sets of hosts(合奏)。每当进行更改时,在将其写入到 ensemble 中的法定人数(至少一半)的服务器之前,它才会被认为是成功的。

    现在 想象一下 Kafka 和 Hadoop 都有一个由 3 个 zookeeper 服务器组成的专用集群,如果两个集群中的任何一个节点出现故障,这将导致服务失败(ZK 基于简单多数投票工作,因此它最多可以容忍1 个节点故障使服务保持活动状态但不是 2)。相反,如果有One Single 5zk 服务器集群管理这两个应用程序,并且如果两个节点关闭,您仍然可以使用该服务。这不仅提供了更好的可靠性,还减少了硬件费用,而不是管理 6 个服务器只需要照顾5个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-29
      • 2016-08-26
      相关资源
      最近更新 更多