Zookeeper服务安装之后,一般会在这个服务的基础之上安装其他的大数据平台,其他的框架一般会提供很多接口对Zookeeper中的内容进行一定的操作,但是功能相对单一,所以有些时候,有必要我们自己登录Zookeeper服务器,对里面的文件结构有一定的了解,这样的话使用起来也比较方便,下面就简单总结一下Zookeeper常用的命令。
首先是最基本的zkServer.sh脚本使用,之前也说过,这里汇总一下(假设当前目录在Zookeeper安装目录下):
1、启动Zookeeper服务: bin/zkServer.sh start
2、查看服务状态,包括节点类型: bin/zkServer.sh status
3、停止服务: bin/zkServer.sh stop
4、重启服务: bin/zkServer.sh restart
下面就是重点,zk客户端工具的使用,zk的命令行工具和shell相似,不过命令相对单一,使用比shell简单得多,只能进行简单的数据访问操作,首先使用如下命令进入命令行管理工具:
bin/zkCli.sh -server localhost:2181
后面使用localhost或者定义的主机名都可以,回车之后就可以进入工具界面,提示符如下图所示:
这个时候我们就可以输入命令了,输入一次命令,最后的数字加1,下面是一些常用的命令:
ls /目录节点 显示zookeeper中指定节点下的内容,比如: ls / 或者 ls /configs 但是要注意开始必须加/
ls2 /目录节点 查看指定节点下的内容和节点的数据,更新次数等,比如: ls2 / 或者 ls2 /collections
create /节点名 string 创建节点,并关联指定字符串,比如: create /test TheTest 注意字符串中间不要有空格,字符串也不用加双引号,这个时候用 ls /test 查看只会返回[],而用 ls2 /test 查看可以看到数据长度等信息,
可以看到,dataLength = 7
get /节点或者文件名 可以获取节点关联的字符串或者文件的内容,对于文件和Linux下的cat命令类似,比如: get / 或者 get /configs/abc.xml
前者获取目录的关联字符串,后者获取abc.xml配置文件的内容,相当于cat命令
set /节点名 修改节点所关联的字符串,比如创建之后,可以使用: set /test hello 来修改test节点的关联字符串
delete /文件名 删除zookeeper上的文件,有些框架的配置文件经常修改,并且每次更新时无法覆盖原有文件,可以使用比如: delete /configs/abc/test.xml 这样用来删除test.xml文件,下次直接上传就可以了
quit 退出zookeeper客户端工具并返回命令行
help 查看更多命令的帮助
另外,不登录zookeeper,也可以进行一些操作:
查看节点状态是follower还是leader: echo stat | nc 127.0.0.1 2181 nc的全称是NetCat,和scp命令类似,是用来在网络之间通过TCP或者UDP协议进行文件传输的工具,有硬盘克隆,端口扫描等强大的功能,这里了解即可,以后的如果写文章会详细说明具体细节,如果nc没有安装,可以使用 yum install nc进行安装,
测试是否启动了该服务,若显示imok表示已经启动: echo ruok | nc 127.0.0.1 2181
列出服务配置的详细信息: echo conf | nc 127.0.0.1 2181
列出服务环境的详细信息(和上一条conf不一样): echo envi | nc 127.0.0.1 2181
列出未经处理的请求: echo reqs | nc 127.0.0.1 2181
以上就是常用的zookeeper工具和其他常用的命令,对相关平台的开发和测试都会带来方便