如hbase-
default.xml中所述,这是设置:
ZooKeeper Quorum中用逗号分隔的服务器列表。例如,“
host1.mydomain.com,host2.mydomain.com,host3.mydomain.com”。默认情况下,对于本地和伪分布式 *** 作模式,此选项设置为localhost。对于完全分布式的设置,应将其设置为ZooKeeper仲裁服务器的完整列表。如果在hbase-
env.sh中设置了Hbase_MANAGES_ZK,则这是我们将启动/停止ZooKeeper的服务器的列表。
什么这实际上 也 已经回答了由爱德华J.尹在这里。为了便于说明,我将进行编辑:
Apache Zookeeper是针对分布式应用程序(例如Google的Chubby)的协调服务。许多项目使用Zookeeper,而我们(Apache
Hama)也使用Zookeeper来实现大容量同步并行计算框架的屏障同步。今天,我调查了有关Zookeeper项目的paxos和动态定额功能的更多信息,以更好地命名该类
org.apache.hama.zookeeper.QuorumPeer。由于文档不够(http://hadoop.apache.org/zookeeper/docs/r3.0.0/api/index.html),我不理解“仲裁”的含义,因为该术语有些奇怪对我来说。但是,“
org.apache.hama.zookeeper.QuorumPeer”是适当的名称!xD那么,什么是法定人数?为什么我们需要法定人数?
根据Wikipedia的说法,法定人数是开展该团体业务所必需的最低人数。 通常,这是预期会在那里的大多数人,尽管许多机构的法定人数可能更低或更高。
如您所知,容错机制是分布式系统的重要功能之一。Quorum算法用于防止脑裂情况。当发生裂脑情况时,根据Quorum算法,动物园管理员将确定“主分区”和“第二分区”。然后,主要组中的服务器接收并处理用户的请求,次要组中的服务器变为只读。
该系统何时从裂脑状态中恢复?当它们再次合并到一个分区时。在内部,动物园管理员使用原子广播协议而不是Paxos。
您还应该阅读原始版本,以防我误解了他试图提出的概念。
我对Apache
Zookeeper中的仲裁机制的理解是,它明确定义了跨多个预定义主机的复制仲裁。如果未达到此法定人数,则将不同的分区拆分为辅助分区,直到Zookeeper可以将它们与主分区重新集成。
这为Hadoop的最终一致性模型增加了更多的粒度。同时,Hbase目前正在进一步整合Zookeeper及其代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)