更新时间:2017-09-01 来源:黑马程序员云计算大数据培训学院 浏览量:
2-1体系架构
ZooKeeper的体系架构如下图所示:
客户端可以连接到每个Server,每个Server的数据完全相同,每个Follower都和Leader有连接,接受Leader的数据更新操作,Server记录事务日志和快照到持久存储;过半数Server可用,整体服务就可用。Leader只有一个,宕机后会重新选出一个Leader。
2-2 ZooKeeper基本特性
强一致性:Client不论连接到哪个Server,展示给它的都是同一个视图,这是ZooKeeper最重要的功能。
可靠性:具有简单、健壮、良好的性能,如果消息Message被一台服务器接受,那么它将被所有的服务器接受。
实时性:ZooKeeper保证客户端在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。考虑到网络延时等原因,在需要最新数据时,应该在读数据之前调用sync实现。
等待无关(wait-free):慢的或者失效的Client不得干预快速的Client的请求,使得每个Client都能有效的等待。
原子性:更新只能成功或者失败,没有中间状态。
顺序性:包括全局有序和偏序两种。
2-3 ZooKeeper数据模型
ZooKeeper的数据模型基于树型结构的命名空间,与文件系统类似,如下所示:
该数据模型有如下几个特点:
该数据模型是分布式的,数据节点被称为znode,客户端可以连接到每个Server,每个Server的数据完全相同;
znode可以是临时节点也可以是持久性的。对应临时节点,一旦创建znode的客户端与服务器失去联系,这个 znode 也将自动删除,ZooKeeper 的客户端和服务器通信采用长连接方式,每个客户端和服务器通过心跳来保持连接,这个连接状态称为 session,如果 znode 是临时节点,这个session 失效,znode 也就删除了。
znode可以被监控,包括这个目录节点中存储的数据的修改,子节点目录的变化等,一旦变化可以通知设置监控的客户端,这个是 ZooKeeper 的核心特性,ZooKeeper 的很多功能都是基于这个特性实现的,通过这个特性可以实现的功能包括配置的集中管理,集群管理,分布式锁等。
云计算大数据培训之Hadoop组件:zookeeper(1)
2017-09-01云计算大数据培训之Spark-Streaming的基本原理以及预写日志机制和checkpoint(3)
2017-09-01云计算大数据培训之Spark-Streaming的基本原理以及预写日志机制和checkpoint(2)
2017-09-01云计算大数据培训之Spark-Streaming的基本原理以及预写日志机制和checkpoint(1)
2017-09-01云计算大数据培训之10个常见误解:算法即预言家、大数据必干净(下)
2017-08-31云计算大数据培训之10个常见误解:算法即预言家、大数据必干净(上)
2017-08-31