Zookeeper:用客户端对Zookeeper进行操作

zookeeper集群搭建点这里

1 集群搭建成功后,我们启动客户端

2 成功启动如下

3 输入help,就是操作zookeeper的所有命令

4 zookeeper的数据结构(关注公众号:java进阶)

 a、层次化的目录结构,命名符合常规文件系统规范(见下图)

 b、每个节点在zookeeper中叫做znode,并且其有一个唯一的路径标识

 c、节点Znode可以包含数据和子节点

 d、客户端应用可以在节点上设置监视器

 

              

 

5  ls /查看节点;创建节点create,节点可以保存数据

 

6 app1下再创建子节点,并保存数据

 

a . Znode有两种类型:

短暂(ephemeral):断开连接自己删除

create 命令后的[e]  例如:create -e app1/ 8888

  如果目前的客户端断掉连接,这个节点zookeeper自动就会把此节点删掉

  (就可以感知哪个机器掉线,然后通知给所有其他节点)

持久(persistent)(断开连接不删除)

  客户端断不断,节点都在,除非手动删除

b. Znode有四种形式的目录节点(默认是persistent )

PERSISTENT

PERSISTENT_SEQUENTIAL(持久序列/test0000000019 )

EPHEMERAL

EPHEMERAL_SEQUENTIAL

 

 

quit退出后重新bin/zkClin.sh 

发现创建的临时zhangfan节点没有了(欢迎加我微信:ZF363133213)

8  

创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护

在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序

9 set 改变节点数据(其他两台也会同步更新)

 

10 监听,一台上节点数据改变,另一台可以感应

 

   我的公众号:java进阶