多个服务可以使用同一个 Zookeeper 实例吗?

Posted

技术标签:

【中文标题】多个服务可以使用同一个 Zookeeper 实例吗?【英文标题】:Can the same Zookeeper instance be used by number of services? 【发布时间】:2014-08-11 23:33:04 【问题描述】:

一个 Zookeeper 安装是否足以供 Hadoop Kafka 和 Storm 集群使用? 我想在一个测试环境中部署所有内容并尝试使用这些技术, 我可以为此使用一个 Zookeeper 安装吗?相同的 znode 可以专用于服务数量吗?

【问题讨论】:

【参考方案1】:

是的,您可以使用单个 zookeeper 安装来支持多个集群,甚至支持不同类型的集群。这种情况已经存在很长时间了——这里有一个 2009 年关于它的很好讨论的链接:http://zookeeper-user.578899.n2.nabble.com/Multiple-ZK-clusters-or-a-single-shared-cluster-td3277547.html

对于测试这很好(甚至可以在一台 ZK 服务器上运行它)。对于生产用途,尽管您至少需要一个 3 节点集群。您应该仔细考虑在单个集群上运行所有内容。

原因是,如果您在单个 ZK 集群上运行多个 Hadoop、Storm 和 Kafka 集群,那么一组服务器将成为您所有分布式系统的单点故障。您可以使用 3 个以上的服务器(比如说 7 个)来加强 ZK 设置,以便它可以处理多个故障,但如果有人意外关闭 ZK,您的所有分布式环境也会崩溃。

有些人认为,在系统之间进行更多隔离会更好。我认为它因用例而异,但我会小心将所有鸡蛋放在一个 ZK 篮子中。

【讨论】:

以上是关于多个服务可以使用同一个 Zookeeper 实例吗?的主要内容,如果未能解决你的问题,请参考以下文章

您可以将 Amazon EBS 附加到多个实例吗?

肝一下ZooKeeper实现分布式锁的方案,附带实例!

zookeeper-端口说明

命名管道客户端可以写入多个实例吗?

Zookeeper学习---zookeeper 选举机制介绍

kafka和zookeeper