节点类型
相关命令
-
stat命令:stat path
用于查看某个节点的属性
-
ls2命令:ls2 path
ls + stat :查看子节点并显示当前节点的属性
-
创建节点
create [-s] [-e] path data
节点的类型
持久化节点:只要创建,就永久存在,除非主动删除,默认创建的节点类型
create
举例:create -s /bigdata/hive hive1
临时节点:只在当前Session有效,Session一旦关闭,这个节点自动消失
create -e
举例:create -s /bigdata/hive hive2
类似于Mysql中的临时表
- 普通表:create table (field);
- 临时表:create temporary table (field);
- 当前会话一旦断开,临时表自动消失
- 临时存在,用于临时保存一些数据
- 子查询中内层的SQL语句先执行,执行以后Mysql就是保存在临时表中的
- select … from (select2)
- 用于存储一些临时性的数据
- 临时节点不允许有子节点
会报Ephemerals cannot have children
- 应用:帮助别人选举
抢注式
- 所有主服务会抢注创建一个目录,这个目录被谁创建,谁就是工作状态,其他是备份状态
- 所有备份状态会监听这个目录,如果这个目录消失了,说明工作的主服务故障了,重新选举
顺序节点:会根据节点创建的路径,自动编号,构建序列的节点列表
- 类似于Mysql中自动递增:default
- 用于存储有序的数据
顺序节点–持久化有序节点
create -s
举例:create -s /bigdata/hive hive3
顺序节点–临时有序节点
create -s -e
举例:create -s /bigdata/hive hive4
- 应用:帮助别人选举
排号式
- 有的主服务都在zookeeper中创建一个节点,zookeeper自动编号
- 编号最小的会成为工作主服务
- 所有备份状态会监听这个目录,如果这个节点消失了,说明工作的主服务故障了,重新选举