大数据:hadoop生态圈之Zookeeper

1:Zookeeper是一个集群
大数据:hadoop生态圈之Zookeeper
zoned节点:具有文件和文件夹的特性
每个服务器承担如下三个角色:
Leader:集群的领导者
1-lendeer是集群的核心,集群内部各个服务器的调度者
2-Leader负责进行投票选举
3-处理事务性写操作
4-参与集群投票
Follower:跟随者
1-Follower用于接收客户端请求并向客户端返回结果
2-处理客户端非事务(读操作)请求
3-转发事务请求给Leader
4-参与集群投票
Observer:观察者
1-Observer用于接收客户端请求,并向客户端返回结果
2-处理客户端非事务(读操作)请求
3-转发事务请求给Leader
4-不参与集群投票
2-功能
1-数据发布/订阅
2-命名服务
3-分布式协调/通知
3.1、心跳检测
不同机器间需要检测彼此是否在正常运行,可以使用Zookeeper实现机器间的心跳检测,基于临时节点特性,可以让不同机器都在Zookeeper的一个指定节点下创建临时子节点,不同机器之间可以根据这个临时子节点来判断对应客户机器知否存活。通过Zookeeper可以大大减少系统的耦合。
大数据:hadoop生态圈之Zookeeper
3.2、工作进度汇报
通常任务被分发到不同机器后,需要实时的将自己的任务执行进度汇报给分发系统,可以在zookeeper上选择一个节点,每个任务客户机都在这个节点下面创建临时子节点,这样不仅可以判断机器是否存活,同时各个机器可以将自己的任务执行进度写到该临时子节点中去,以便中心系统能够实时获取任务的执行进度。
3.3、系统调度
Zookeeper能够实现如下系统调度模式:分布式系统由控制台和一些客户段系统两部分组成,控制台的职责就是需要将一些指令信息发送给所有的客户端,以控制他们进行相应的业务逻辑,后台管理人员在控制台上做一些操作,实际上就是修改Zookeeper上某些节点的数据,Zookeeper可以把数据变更以时间通知的形式发送给订阅客户端。