首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动物园管理员工作

动物园管理员工作
EN

Stack Overflow用户
提问于 2014-04-07 19:02:22
回答 1查看 814关注 0票数 1

我在学习动物园管理员的事。我了解到,当集群包含1000多台机器时,动物园管理员是非常有用的。我几乎没有怀疑。

我试着阅读以下链接来理解解释Apache ZooKeeper

解释Apache ZooKeeper

我有以下问题

1)动物园管理员在处理集群中的数千台机器时有多大的帮助?

2)动物园管理员如何解决分布式同步问题?

3)动物园管理员如何解决集中式配置问题?

EN

回答 1

Stack Overflow用户

发布于 2014-05-06 22:24:03

动物园管理员在处理集群中的数千台机器时有多大的帮助?

ZooKeeper有很多可能的用例,最突出的是

  • 服务注册中心
  • 配置存储
  • 分布式锁定
  • 分布式通知服务(使用观察者)
  • 还有更多..。

您可以根据特定用例的需要运行尽可能多的ZooKeeper实例。集群中的1000台机器和/或程序中的每一台都连接到其中的一台。

当然,必须相应地配置ZooKeeper实例,以便作为集群正确地协同工作。这是来自ZooKeeper网站

集群(多服务器)设置 对于可靠的ZooKeeper服务,应该将ZooKeeper部署在一个称为集成的集群中。只要大多数团员都能上线,这项服务就可以使用了。因为动物园管理员需要多数人,所以最好使用奇数的机器。例如,对于四台机器,ZooKeeper只能处理一台机器的故障;如果两台机器发生故障,则其余两台机器不占多数。但是,使用五台机器,ZooKeeper可以处理两台机器的故障。 ..。 4.创建配置文件。这个文件可以被称为任何东西。使用下列设置作为起点: tickTime=2000 dataDir=/var/动物饲养员/ clientPort=2181 initLimit=5 syncLimit=2 server.1=zoo1:2888:3888 server.2=zoo2:2888:3888 server.3=zoo3:2888:3888 作为ZooKeeper集成的一部分的每台机器都应该知道集成中的每一台机器。您可以通过表单server.id=host:port:port的一系列行来完成这一任务。主机和端口的参数都很简单。您可以通过创建一个名为myid的文件将服务器id属性为每台机器,该文件位于该服务器的数据目录中,由配置文件参数dataDir指定。 5. myid文件由一行组成,只包含机器id的文本。所以服务器1的of将包含文本"1“,而不包含其他任何内容。id在集合中必须是唯一的,并且应该具有介于1和255之间的值。 ..。

动物园管理员如何解决分布式同步问题?

ZooKeeper通过使用一个特殊的协议(ZooKeeper原子广播,ZAB)来收集共识并发布关于内部数据结构状态的结果,从而确保了整个集群的一致性。虽然不完全相同,但大致可以想象它是Paxos协议的一个变体。该协议确保数据在每一个时间点都是一致的,从而允许简单和安全的故障转移,例如,当一个特定的ZooKeeper实例崩溃时。

从技术上讲,扎布不是帕克斯,但是如果您只想使用ZooKeeper,两者之间的区别并不重要。

动物园管理员如何解决集中配置问题?

通过没有您的(配置)数据的一个集中副本。虽然每个ZooKeeper客户端程序通常连接到一个特定的ZooKeeper实例,但所有数据总是被复制。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22920821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档