zookeeper常用管理命令

zookeeper服务命令

命令为
./bin/zkServer.sh [start|start-foreground|stop|restart|status|upgrade|print-cmd]
以下命令可以知道节点的角色

1
2
3
4
[hadoop@hostname /home/q/hbase_zookeeper/zookeeper-3.4.5-cdh5.1.0]$ ./bin/zkServer.sh status
JMX enabled by default
Using config: /home/q/hbase_zookeeper/zookeeper-3.4.5-cdh5.1.0/bin/../conf/zoo.cfg
Mode: leader

命令行工具
1、ls

使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
[zk: localhost:2181(CONNECTED) 0] ls / [zookeeper]
2、ls2

查看当前节点数据并能看到更新次数等数据

1
2
3
4
5
6
7
8
9
10
11
12
13
[zk: localhost:2181(CONNECTED) 4] ls2 /         
[zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 07:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 07:00:00 CST 1970
pZxid = 0x0
cversion = -1
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 1

3、create

创建一个新的 znode节点“/pucong ”以及与它关联的字符串

1
2
[zk: localhost:2181(CONNECTED) 6] create /pucong mydata
Created /pucong

创建临时节点

1
2
[zk: localhost:2181(CONNECTED) 1] create -e /pucong/temp  testdata
Created /pucong/temp

4、get

获取znode节点文件内容

1
2
3
4
5
6
7
8
9
10
11
12
13
[zk: localhost:2181(CONNECTED) 10] get /pucong
mydata
cZxid = 0x100000008
ctime = Wed Oct 15 11:20:47 CST 2014
mZxid = 0x100000008
mtime = Wed Oct 15 11:20:47 CST 2014
pZxid = 0x100000008
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0

5、set

修改znode节点关联的数据

1
2
3
4
5
6
7
8
9
10
11
12
[zk: localhost:2181(CONNECTED) 16] set /pucong testdata
cZxid = 0x100000008
ctime = Wed Oct 15 11:20:47 CST 2014
mZxid = 0x100000009
mtime = Wed Oct 15 11:27:55 CST 2014
pZxid = 0x100000008
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 10
numChildren = 0

6、delete

删除某个znode节点

[zk: localhost:2181(CONNECTED) 23] delete /pucong/test1

假如有子目录,需要使用rmr来进行递归删除

[zk: localhost:2181(CONNECTED) 27] rmr /pucong

常用四字命令

1
2
3
4
5
6
7
8
9
10
11
12
echo stat|nc 127.0.0.1 2181 来查看哪个节点被选择作为follower或者leader
echo ruok|nc 127.0.0.1 2181 测试是否启动了该Server,若回复imok表示已经启动
echo dump| nc 127.0.0.1 2181 ,列出未经处理的会话和临时节点
echo kill | nc 127.0.0.1 2181 ,关掉server
echo conf | nc 127.0.0.1 2181 ,输出相关服务配置的详细信息
echo cons | nc 127.0.0.1 2181 ,列出所有连接到服务器的客户端的完全的连接 / 会话的详细信息
echo envi |nc 127.0.0.1 2181 ,输出关于服务环境的详细信息(区别于 conf 命令)
echo wchs | nc 127.0.0.1 2181 ,列出服务器 watch 的详细信息
echo wchc | nc 127.0.0.1 2181 ,通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
echo wchp | nc 127.0.0.1 2181 ,通过路径列出服务器 watch 的详细信息。它输出一个与 session 相关的路径
echo mntr | nc 127.0.0.1 2181,这个命令可以列出变量列表,这些变量可以用作监控集群的健康状态
echo srvr | nc 127.0.0.1 2181,获取服务器的详细信息