zookeeper服务器端管理工具
zookeeper基本是基于API和console进行znode的操作,并没有一个比较方便的操作界面,这里也发现了taobao 伯岩写的一个工具,可以比较方便的查询zookeeper信息。
工具的开发语言主要是node.js(最近比较火),其标榜的是无阻塞的api使用。其原理主要是基于google的V8(chrome的javascript的解析器,C语言编写),node.js本身是基于js语法进行开发,通过V8解析为C语言的执行代码
其标榜的无阻塞I/O实现,那可想而知就是linux系统下的select/poll的I/O模型。有兴趣的可以看下node.js的官网,下载一个玩玩。
文档地址: http://www.blogjava.net/killme2008/archive/2011/06/06/351793.html
代码地址: https://github.com/killme2008/node-zk-browser
通过git下载源码后,需要安装下node.js的几个模块express, express-namespace, zookeeper。 node.js下有个比较方便的模块管理器npm,类似于redhat的rpm,ubuntu的apt-get。
我们已经开始在产品使用zookeeper了,那么维护工具也必然需要,所谓兵马未动,粮草先行。请同事帮忙看过几个开源项目后,并没有特别让人满意的。
我想要的功能比较简单。首先,希望能将zookeeper集群的数据展示为树形结构,跟zookeeper模型保持一致。可以逐步展开每层的节点,每次展开都是延迟加载从zk里取数据,这样不会对zk造成太大压力。其次,除了展示树形结构外,我还希望它能展示每个path的属性和数据,更进一步,如果数据是文本的,我希望它可编辑。当然,因为编辑功能是比较危险的行为,我还希望这个管理工具有个简单的授权验证机制。
最终,我自己写了这么个东西,取名为node-zk-browser,基于node.js的express.js框架和node-zookeeper客户端实现的。我将它放在了github上
https://github.com/killme2008/node-zk-browser
你可以自己搭建这个小app, npm几乎能帮你搞定大部分工作。界面不美观,实用为主,几张运行时截图
更详细的文章参考:http://blog.csdn.net/lizhitao/article/details/30989275