Apache ZooKeeper(Hadoop)详细原理和使用
例如,如果 zxid1小于 zxid2,说明 zxid1 操作先于 zxid2 发生,zxid 对于整个zk 都是唯一的,即使操作的是不同的 znode。dataVersion:数据版本号,每次对节点进行 set 操作,dataVersion 的值都会增加 1(即使设置的是相同的数据),可有效避免了数据更新时出现的先后顺序问题。首先来说一下zookeeper的工作原理,它是由leader来进行对事务请求的调度和处理,然后follower处理非客户端的事务请求。通过命令 get,可以获得节点的属性。
1. zookeeper基本知识
zookeeper是一个分布式协调服务的开源框架,zookeeper其实就是一个基于分布式的一个小的文件存储系统,它具有以下五个特性;
1.全局数据一致性;
集群中每个服务器保存一份相同的数据副本,client (客户端)无论连接到哪个服务器,展示的数据都是一致的。
2.顺序性;
包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息 a 在消息 b 前发布,则在所有 server (节点)上消息 a 都在消息 b 前被发布;偏序是指如果一个消息 b 在消息 a 后被同一个发送者发布,a 必将排在 b 前面。
3.可靠性;
如果消息被其中一台服务器接受,那么将被所有的服务器接受。
4.实时性;
zookeeper 保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。
5.数据原子性;
数据的一次更新要么成功要么失败,不存在中间阶段。
2.有关zookeeper投票选举出leader
首先来说一下zookeeper的工作原理,它是由leader来进行对事务请求的调度和处理,然后follower处理非客户端的事务请求。转发事务给leader。
然后根据节点id和事务id进行投票选举出leader,事务最新,或者节点id权重较大。则此节点被投票选举为leader 。leader负责处理事务的资源调度,follower负责非事务的任务管理和资源调度。
3.zookeeper实用命令
3.1连接客户端
使用此命令进行客户端连接,之后输入help可以获取更详细的命令。
#zookeeper文件路径 - zkcli.sh –server ip
3.2建立节点
(临时节点在会话结束时会自动结束)
create '文件名' /test '内容' #默认永久有效节点
create -e '文件名' /test_e '内容' #创建临时节点
create -s '文件名' /test_s '内容' #创建顺序节点
3.3读取节点
ls /
#或者
get /
3.4更新节点
set /'文件名' '更新的新内容'
3.5删除节点
delete /'文件名'
#or
rmr /'文件目录' #可以递归删除
4.节点属性
通过命令 get,可以获得节点的属性。

dataversion:数据版本号,每次对节点进行 set 操作,dataversion 的值都会增加 1(即使设置的是相同的数据),可有效避免了数据更新时出现的先后顺序问题。
cversion :子节点的版本号。当 znode 的子节点有变化时,cversion 的值就会增加 1。
czxid :znode 创建的事务 id。
mzxid :znode 被修改的事务 id,即每次对 znode 的修改都会更新 mzxid。对于 zk 来说,每次的变化都会产生一个唯一的事务 id,zxid(zookeeper transaction id)。通过 zxid,可以确定更新操作的先后顺序。例如,如果 zxid1小于 zxid2,说明 zxid1 操作先于 zxid2 发生,zxid 对于整个zk 都是唯一的,即使操作的是不同的 znode。
ctime:节点创建时的时间戳.
mtime:节点最新一次更新发生时的时间戳.
ephemeralowner:如果该节点为临时节点, ephemeralowner 值表示与该节点绑定的 session id. 如果不是, ephemeralowner 值为 0.
5.zookeeper watcher(监听机制)
zookeeper 允许客户端向服务端注册一个 watcher 监听,当服务端的一些事件触 发了这个 watcher,那么就会向指定客户端发送一个事件通知来实现分布式的通知功能。具体命令如下;
get /'文件名' watch
相关文章:
-
随着信息技术的飞速发展,特别是互联网和移动通信技术的普及,数字化阅读逐渐成为人们获取知识和信息的重要方式。在这样的背景下,电子图书以其便捷性和丰富性受到了广泛欢迎。随着电子图书市场…
-
DiskBalancer是一个命令行工具,可在DataNode的所有磁盘上均匀分发数据。 此工具对给定的DataNode进行操作,并将块从一个磁盘移动到当前DataNode的另一个…
-
大数据素养个人大佬的,将是我成长路上阿川水平有限,如,欢迎大佬大数据。…
-
-
-
GPT-5的即将到来:从高中生进化到,博士生?随着近月GPT-4o的出世,OpenAI也在进行一系列的采访和介绍接下来的展望和目标。在6月22日的采访中,美国达特茅斯工程学院公布了…
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论