退出zookeeper命令行:
quit
zkCli.sh -server ip:port 连接zk客户端
[root@zookeeper01 bin]# ./zkCli.sh -server 192.168.0.6:2181,192.168.0.7:2181,192.168.0.8:2181
ls /
ls /spring
显示节点、子节点(注意根节点是 /)
get /spring/mysql.properties 查看节点内容
create /test1 test1-data 创建节点
set /test1 test1-new-data 设置节点内容
delete /spring 删除节点 ,使用delete命令无法删除非空节点,否则,会报错: Node not empty: /节点名称
rmr /spring 删除节点,可删除非空节点
注意:
高版本 zookeeper 比如3.6.1版本 取消了 rmr 命令,只能用 delete 去删除。
zookeeper cli 命令行多行数据怎么换行
比如在shell终端命令行下执行
$ zkCli.sh -server IP:PORT create /test "a
b
c"其中 IP:PORT 可以省略。
具体代码示例:
多行数据换行方式1:
创建节点示例:
[root@solr1 bin]# ./zkCli.sh create /spring/http.properties "http_connectionTimeout=10000
> http_soTimeout=10000
> http_maxTotalConnections=30
> http_defaultMaxConnectionsPerHost=20
>
> http_charset=utf-8"
设置节点内容示例:
[root@solr1 bin]# ./zkCli.sh -server 192.168.81.183:2181 set /spring/http.properties "http_connectionTimeout=10000
> http_soTimeout=10000
> http_maxTotalConnections=30
> http_defaultMaxConnectionsPerHost=20
>
> http_charset=utf-8
> "
效果如下:
多行数据换行方式2:
先在zookeeper服务器上创建一个文件http.properties,内容如下:
然后:
[root@solr1 bin]# ./zkCli.sh create /spring/http.properties "`cat ~/http.properties`"
在tomcat context.xml中配置关于zookeeper的JNDI
打开tomcat的 conf/context.xml 文件,在context标签下,添加如下代码:
<Environment name="zookeeper/connectStrings" value="192.168.81.242:2181,192.168.81.243:2181" type="java.lang.String"></Environment>
JNDI :
org.springframework.jndi.JndiObjectFactoryBean 这个类在 spring-context-xxx.RELEASE.jar 中
何为JNDI:
JNDI是Java命名与目录接口 (Java Naming and Directory Interface),在J2EE规范中是重要的规范之一。
说白了就是把资源取个名字,再根据名字寻找资源。