Zookeeper服务常用的操作命令

  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工具和其他常用的命令,对相关平台的开发和测试都会带来方便

posted @ 2016-02-26 16:30  小得盈满  阅读(5528)  评论(0编辑  收藏  举报