zookeeper特点及结构
首先看一下zookeeper的特点图
解释
(1)对于第一点,领导者是选举出来的,不像hadoop的NameNode是我们在配置文件中决定的
(2)半数节点就可以存货,则选择奇数的节点更合适,比如四台节点的运行需要三台,五台节点的运行也只需要三台。
(3)第三点和第五点的原因是zookeeper的数据传输采用事务的方法结构图如下
每个节点是我们启动服务端后,通过客户端在服务端创建的,每个节点虽然是个目录,但是它可以保存1MB的数值,通过客户端的get命令可以获取某个节点的值
zookeeper客户端命令
再安装完zookeeper后,我们可以自己编写群起脚本,开启zookeeper服务端后,我们可以测试一下服务端命令,部分展示如下
测试开始,我们先开启服务端
我们再开启客户端 利用zkCli.sh
然后我们可以通过 create -e创建临时节点,如果我重启或者超时之后,这个节点就会消失
或者可以用create -s创建序列节点 ——乐观锁
利用get可以获取某个节点的值,虽然我们的节点是个目录,但是它可以储存一个M的值然后我们就可以测试zookeeper的真正作用了,比如监听某个服务端的节点node
首先我们创建一个节点test
再另外一台服务器上通过ls -w test来监听一次这个test节点
然后我们在hadoop102中在test里随便做点操作,比如再创建一个节点
此时在hadoop103上因为我们监听这个节点,所以就会发现
证明监听成功,但是注意的是我们这次监听为单次监听,如果想要循环保持监听,需要写java代码