获取管理权-intouch2017培训资料

时间:2024-06-30 01:12:55
【文件属性】:

文件名称:获取管理权-intouch2017培训资料

文件大小:4.44MB

文件格式:PDF

更新时间:2024-06-30 01:12:55

ZooKeeper 分布式

3.3 获取管理权 现在我们有了会话,我们的Master程序需要获得管理权,虽然现在 我们只有一个主节点,但我们还是要小心仔细。我们需要运行多个进 程,以便在活动主节点发生故障后,可以有进程接替主节点。 为了确保同一时间只有一个主节点进程出于活动状态,我们使用 ZooKeeper来实现简单的群首选举算法(在2.4.1节中所描述的)。这个 算法中,所有潜在的主节点进程尝试创建/master节点,但只有一个成 功,这个成功的进程成为主节点。 常量ZooDefs.Ids.OPEN_ACL_UNSAFE为所有人提供了所有权限 (正如其名所显示的,这个ACL策略在不可信的环境下使用是非常不安 全的)。 ZooKeeper通过插件式的认证方法提供了每个节点的ACL策略功 能,因此,如果我们需要,就可以限制某个用户对某个znode节点的哪 些权限,但对于这个简单的例子,我们继续使用OPEN_ACL_UNSAFE 策略。当然,我们希望在主节点死掉后/master节点会消失。正如我们在 2.1.2节中所提到的持久性和临时性znode节点,我们可以使用ZooKeeper 的临时性znode节点来达到我们的目的。我们将定义一个EPHEMERAL 的znode节点,当创建它的会话关闭或无效时,ZooKeeper会自动检测


网友评论