一、环境
环境如下
centos7.2
java 1.8
二、命令行连接zookeeper
这里我把原先zookeeper监听的端口2180改成了4180,如下连接
./zkCli.sh -server 127.0.0.1:4180
这是zookeeper的配置
连接成功的时候如下图,会提示 welcome to zookeeper
三、help
help
输入help ,zookeeper会输出一系列zookeeper可用的命令,如下图
四、输出一系列节点
这个有点类似linux的树文件系统,很多的zookeeper节点都在 / 下面,如下命令
ls /
会输出如下一系列已创建的节点
五、get
可以获取到每个对应节点的名称,如下
get /zk
如下图
六、set
可以创建节点,并指定节点的名称,如下图
set /zk age
七、修改节点名称
set /zk num
如下图
八、删除节点
delete /zk
如下图
九、添加权限验证
使用账号密码验证 ,账号密码为 heng 123456,因为zookeeper是使用验证后的,算法,如下
BASE64(SHA1(xxx)
所以上述为 BASE64(SHA1(heng+123456)
我们可以使用自带的zookeeper工具来获取,如下
java -Djava.ext.dirs=/usr/local/zookeeper/lib -cp /usr/local/zookeeper/zookeeper-3.4.10.jar org.apache.zookeeper.server.auth.DigestAuthenticationProvider heng:123456
获得值如下,
heng:2uqILaYfnmo+aZZ4eZ3Bmr1mJq0=
如下
如下使用方式
create "/digest" "" digest:heng:2uqILaYfnmo+aZZ4eZ3Bmr1mJq0=:cdrwa
这时,要是访问 /digest会提示
Authentication is not valid : /digest
如下图所示
我们需要先添加权限
addauth digest heng:123456
这时再访问 /digest即可访问成功