一个zookeeper命令行工具——zoo_cmd

来源:互联网 发布:新东方雅思词汇知乎 编辑:程序博客网 时间:2024/06/05 19:41

最近在使用java的ZooInspector的时候,发现图形界面操作东西不太爽,于是用python开发了一个连接zookeeper的命令行工具,设计目标是尽量使人感觉就像操作本地文件系统一样的操作zookeeper里的节点,可以通过vi对节点内容直接编辑
项目地址:https://github.com/liujinliu/zoo_cmd

安装和卸载方法

通过pip安装

pip install zoo_cmd

通过源码安装

#下载源码git clone git@github.com:liujinliu/zoo_cmd.git#创建虚环境virtualenv --no-site-packages zoosource zoo/bin/activate#通过源码安装或卸载cd zoo_cmdmake install ---安装make uninstall ---卸载

使用方法

命令行启动

启动客户端

连接zookeeper

连接zookeeper

命令使用的例子

zoo#> connzoo@127.0.0.1:2181#> helpDocumented commands (type help <topic>):========================================conn  helpUndocumented commands:======================cat  cd  exit  ls  pwd  rm  set  touch  vizoo@127.0.0.1:2181#> ls           ----查看当前节点下的子节点+ zookeeper        2016-02-03 16:25:12+ test             2016-02-03 16:25:12+ (Cmd) wc           ----查看当前节点下的子节点的个数2zoo@127.0.0.1:2181#> cd test      ----进入子节点路径(支持跟绝对路径参数,类似"/test/docker"这种)/testzoo@127.0.0.1:2181#> ls           ----查看当前节点下的子节点和最近修改时间+ docker           2016-02-03 16:25:12zoo@127.0.0.1:2181#> cd docker/test/dockerzoo@127.0.0.1:2181#> ls+ acb896d8         2016-02-03 16:25:12zoo@127.0.0.1:2181#> touch tmp_ljl   ----创建新节点/test/docker/tmp_ljlzoo@127.0.0.1:2181#> set tmp_ljl csdn0   ----向节点写入内容(会覆盖原有内容)ZnodeStat(czxid=313532612647, ...... pzxid=313532612647)zoo@127.0.0.1:2181#> cat tmp_ljl    ----查看节点内容csdn0zoo@127.0.0.1:2181#> pwd             ----查看当前所处的绝对路径/test/dockerzoo@127.0.0.1:2181#> ls- tmp_ljl          2016-02-03 16:25:12acb896d8zoo@127.0.0.1:2181#> rm tmp_ljl  ----删除节点Nonezoo@127.0.0.1:2181#> cd ..      ----回退到上一层节点(同时支持类似于"../.."这样的回退多层路径)/testzoo@127.0.0.1:2181#> ls+ gary                               2016-11-06 10:40:04+ zookeeper                          1970-01-01 08:00:00zoo@127.0.0.1:2181#> cat gar*/tmp*--gary/tmp0:gary,1--gary/tmp1:gary,2

通过VI修改节点内容

下面的命令将调用vi对节点内容修改,保存后会将新的内容更新到zookeeper节点上

zoo@127.0.0.1:2181#> vi tmp_ljl
0 0