最近在使用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 zoo
source zoo/bin/activate
#通过源码安装或卸载
cd zoo_cmd
make install ---安装
make uninstall ---卸载
使用方法
命令行启动
连接zookeeper
命令使用的例子
(Cmd) help
Documented commands (type help <topic>):
========================================
conn help
Undocumented commands:
======================
cat cd exit ls pwd rm set touch vi
(Cmd) ls ----查看当前节点下的子节点
+ zookeeper 2016-02-03 16:25:12
+ test 2016-02-03 16:25:12
+ (Cmd) wc ----查看当前节点下的子节点的个数
2
(Cmd) cd test ----进入子节点路径(支持跟绝对路径参数,类似"/test/docker"这种)
/test
(Cmd) ls ----查看当前节点下的子节点和最近修改时间
+ docker 2016-02-03 16:25:12
(Cmd) cd docker
/test/docker
(Cmd) ls
+ acb896d8 2016-02-03 16:25:12
(Cmd) touch tmp_ljl ----创建新节点
/test/docker/tmp_ljl
(Cmd) set tmp_ljl csdn0 ----向节点写入内容(会覆盖原有内容)
ZnodeStat(czxid=313532612647, ...... pzxid=313532612647)
(Cmd) cat tmp_ljl ----查看节点内容
csdn0
(Cmd) pwd ----查看当前所处的绝对路径
/test/docker
(Cmd) ls
- tmp_ljl 2016-02-03 16:25:12
acb896d8
(Cmd) rm tmp_ljl ----删除节点
None
(Cmd) cd .. ----回退到上一层节点(同时支持类似于"../.."这样的回退多层路径)
/test
(Cmd)
通过VI修改节点内容
下面的命令将调用vi对节点内容修改,保存后会将新的内容更新到zookeeper节点上。
(Cmd) vi tmp_ljl