Zookeeper监听器原理
客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、节点删除、子目录节点增加删除)时,ZooKeeper 会通知客户端。监听机制保证 ZooKeeper 保存的任何的数据的任何改变都能快速的响应到监听了该节点的应用程序。
1)节点的值变化监听
(1)在 hadoop104 主机上注册监听/sanguo 节点数据变化
get -w /sanguo
(2)在 hadoop103 主机上修改/sanguo 节点的数据
set /sanguo “xisi”
(3)观察 hadoop104 主机收到数据变化的监听
注意:在hadoop103再多次修改/sanguo的值,hadoop104上不会再收到监听。因为注册一次,只能监听一次。想再次监听,需要再次注册。
2)节点的子节点变化监听(路径变化)
(1)在 hadoop104 主机上注册监听/sanguo 节点的子节点变化
ls -w /sanguo
(2)在 hadoop103 主机/sanguo 节点上创建子节点
create /sanguo/jin “simayi”
(3)观察 hadoop104 主机收到子节点变化的监听
注意:节点的路径变化,也是注册一次,生效一次。想多次生效,就需要多次注册。
节点删除与查看
1)删除节点
delete /sanguo/jin
2)递归删除节点
deleteall /sanguo/shuguo
3)查看节点状态
stat /sanguo