Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 动物园管理员工作_Apache_Distributed Computing_Apache Zookeeper - Fatal编程技术网

Apache 动物园管理员工作

Apache 动物园管理员工作,apache,distributed-computing,apache-zookeeper,Apache,Distributed Computing,Apache Zookeeper,我正在学习动物园管理员。我了解到,当集群包含1000台机器时,zookeeper非常有用。我没有什么疑问 我试着阅读以下链接来理解 我有以下问题 1) zookeeper在集群中处理数千台机器时有何帮助 2) zookeeper如何解决分布式同步问题 3) zookeeper是如何解决集中配置问题的?zookeeper在集群中处理数千台机器时有何帮助? ZooKeeper有很多可能的用例,最突出的当然是 服务注册 配置存储 分布式锁定 分布式通知服务(使用监视程序) 还有更多 您可以根据

我正在学习动物园管理员。我了解到,当集群包含1000台机器时,zookeeper非常有用。我没有什么疑问

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

我有以下问题

1) zookeeper在集群中处理数千台机器时有何帮助
2) zookeeper如何解决分布式同步问题
3) zookeeper是如何解决集中配置问题的?

zookeeper在集群中处理数千台机器时有何帮助? ZooKeeper有很多可能的用例,最突出的当然是

  • 服务注册
  • 配置存储
  • 分布式锁定
  • 分布式通知服务(使用监视程序)
  • 还有更多
您可以根据特定用例的需要运行任意多个ZooKeeper实例。群集中1000台机器和/或程序中的每台都连接到其中一台

当然,ZooKeeper实例必须进行相应的配置,才能作为集群正常工作。这是从

群集(多服务器)设置

为了获得可靠的ZooKeeper服务,您应该在称为集成的集群中部署ZooKeeper。只要大多数合奏者都在,这项服务就可以使用。因为Zookeeper需要多数,所以最好使用奇数台机器。例如,有了四台机器,ZooKeeper只能处理一台机器的故障;如果两台机器出现故障,其余两台机器不构成多数。然而,有了五台机器,动物园管理员可以处理两台机器的故障

[……]

4.创建一个配置文件。这个文件可以被称为任何东西。使用以下设置作为起点:

tickTime=2000
dataDir=/var/zookeeper/
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的一系列行来实现这一点。主机和端口的参数很简单。根据配置文件参数dataDir的指定,通过创建名为myid的文件(每个服务器一个)将服务器id赋予每台计算机,该文件位于该服务器的数据目录中

5.myid文件由一行组成,其中只包含该机器id的文本。因此,服务器1的myid将包含文本“1”,而不包含其他内容。id在集合中必须是唯一的,并且其值应介于1和255之间

[……]

zookeeper如何解决分布式同步问题? ZooKeeper通过使用特殊协议(ZooKeeper Atomic Broadcast,ZAB)收集共识并发布关于内部数据结构状态的结果,确保整个集群的一致性。虽然它并不完全等同,但可以粗略地想象它是Paxos协议的一个变体。此协议确保数据在每个时间点都保持一致,从而允许轻松安全的故障切换,例如,当一个特定ZooKeeper实例崩溃时

从技术上讲,但是如果你只是想使用ZooKeeper,两者之间的区别其实并不重要

zookeeper是如何解决集中式配置问题的? 通过没有(配置)数据的单个集中副本。尽管每个ZooKeeper客户端程序通常连接到一个特定的ZooKeeper实例,但所有数据始终是复制的