大数据生态之zookeeper(典型应用场景)

发布时间:2020-07-19 19:10:46 作者:原生zzy
来源:网络 阅读:834

1. 命名服务

大数据生态之zookeeper(典型应用场景)

       命名服务是分布式系统中较为常见的一类场景,分布式系统中,被命名的实体通常可以是集群中的机器、提供的服务地址或者远程对象,通过命名服务,客户端可以根据指定名字来获取资源的实体、服务地址和提供者的信息。Zookeeper可以帮助应用系统通过资源引用的方式来实现对资源的定位和使用。Zookeeper 也可帮助应用系统通过资源引用的方 式来实现对资源的定位和使用,广义上的命名服务的资源定位都不是真正意义上的实体资源, 在分布式环境中,上层应用仅仅需要一个全局唯一的名字。Zookeeper 可以实现一套分布式 全局唯一 ID的分配机制。

 

2. 配置管理

大数据生态之zookeeper(典型应用场景)

    程序总需要配置,如果程序分散到各个机器上,要逐个改变配置就变得困难,现在这些配置全部放入zookeeper中,保存在zookeeper的某个目录节点中,然后所有相关的应用程序对这个目录节点进行监听,一旦配置信息发生变化,每一个应用程序就会收到zookeeper的通知,然后从zookeeper获取新的配置信息应用到系统中就好。例:以安装hadoop集群为例,集群中的每一个节点的配置文件统一,在zk管理配置文件时,用监听的手段,监听配置文件内容是否被修改,配置文件是否添加配置文件是否删除。以便于各个集群节点中同步配置文件。

 

3.集群管理

所谓的集群管理分两大块:是否有机器加入/退出,选举master

    (1)是否有节点机器加入或者退出

            所有的机器约定在父目录GroupMembers 下创建临时目录节点,然后监听父目录节点的子节点变化的信息。一旦有机器挂掉,该机器与zookeeper的连接断开,其所创建的临时节点目录被删除。所有其他机器都收到通知:某个兄弟目录被删除,于是,所有人都 知道:有兄弟挂了。新机器加入也是类似,所有机器收到通知:新兄弟目录加入,又多了个新兄弟。

    (2)选举master

             所有机器创建临时顺序编号目录节点,每次选取编号最小 的机器作为 master 就好。

                             大数据生态之zookeeper(典型应用场景)

 

4. 分布式锁

    在zk中锁有三种:写锁、读锁、时序锁。

写锁:在zk上创建的一个临时的无编号的节点。由于是无序编号,在创建时不会自动编号,导致只能客户端有一个客户端得到锁,然后进行写入。

读锁:在zk上创建一个临时的有编号的节点,这样即使下次有客户端加入是同时创建相同的节点时,他也会自动编号,也可以获得锁对象,然后对其进行读取。

时序锁:在zk上创建的一个临时的有编号的节点根据编号的大小控制锁。

 

5.队列管理

    在zk中有两种队列管理方式:

        (1)同步队列:当一个队列的成员都聚齐时,这个队列才可用,否则一直等待所有成员到达。

                   作用:在约定目录下创建临时目录节点,监听节点数目是否是我们要求的数目。

        (2)先进先出队列:队列按照 FIFO 方式进行入队和出队操作。

                  作用:和分布式锁服务中的控制时序场景基本原理一致,入列有编号,出列按编号。

推荐阅读:
  1. Zookeeper的应用场景
  2. flume典型应用场景

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

大数据 其他

上一篇:初学者怎么学Java编程 Java哪些知识点最重要

下一篇:oracle11gR2安装教程

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》