zookeeper 使用zkCli.sh创建节点遇到的问题
问题场景:由于项目注册到zookeeper中的地址错误,所以想要直接修改zookeeper中对应项目的节点,或者新增对应的正确节点。
1>总结:
由于刚开始对 zkCli.sh 操作不太熟悉,导致把修改节点和修改节点的值给搞混了,所以在此记录一下,如果有和我一样的小伙伴,可以早早的明白过来,避免踏坑。
2>所遇问题:
2.1:不知道zookeeper 的端口号???
查看 zookeeper 端口号,可以通过在zookeeper配置文件中查看;如下是我操作的过程:
查看配置文件的未知:
查看配置文件中的zookeeper端口号:
注:-v 是取反;就是查询文件中所有没有#号的行;
2.2:创建节点问题???
我使用 create /test 命令无法创建 test 节点,如下图:
这样操作不报错,也不会创建节点,可以使用 ls / 命令去查看;
原因是需要设置节点的值,如果节点的值为空,则命令为 create /test ""
双引号不能省略;
有的时候还会报如下错误:
原因也是没有加节点的值,如下命令运行就可以成功创建节点了:
3>命令:
连接客户端:./zkCli.sh -server 0.0.0.0:2181
连接到客户端之后的命令:
显示命令列表:help
下面根据自己的理解说一下我用到的几个:
查看节点(只是查看节点):ls path [watch] demo: ls /
查看节点中的值: get path [watch] demo: get /
一般根目录是没有值的,如下图红框标识:
设置节点中的值:set path data [version] demo: set / "aaa"
在此查看如下图:
创建节点:create [-s] [-e] path data acl demo: create /test/app ""
注意创建节点时,一定要加最后的 “”,不然不会创建成功,如下这种不可以:
这种并没有创建成功,你使用 ls /test 查看,test节点下是没有子节点的;
如果要在/test/app 目录下创建web子节点,命令如下:
删除节点:delete path [version] demo: delete /test/app/web
注意 delete 删除的节点下不能再有节点,否则无法删除;如果想要删除一个目录及目录下的子节点,可以使用 rmr path
由于对zookeeper使用不太熟悉,如果有描述的错误的,欢迎大家指正,共同进步。