网上关于zookeeper的web界面查看工具有好几个,Node-ZK-Browser的界面相对好点,是用nodejs写的,尝试搭建了下。


1. 安装nodejs


到 https://github.com/joyent/node/tags 下载了源码包node-0.8.14.zip。执行如下命令编译nodejs。


查看源代码打印帮助
1 ./configure --prefix=/home/baoniu/zk-browser/nodejs   


2 make && make install 

当然,也可以到nodejs官网下载二进制的nodejs程序包。

(注意安装g++,gcc编译器,安装命令: yum install gcc* -y)



配置环境变量:


查看源代码打印帮助
1 export PATH=$PATH:/home/baoniu/zk-browser/nodejs/bin  


2 export NODE_PATH=/home/baoniu/zk-browser/nodejs:/home/baoniu/zk-browser/nodejs/lib/node_modules 
这个版本的nodejs是自带了npm的。运行如下的脚本hello.js来验证是否安装成功:


查看源代码打印帮助
1 var http = require("http");  


2    


3 http.createServer(function(request, response) {  


4         response.writeHead(200, {"Content-Type": "text/plain"});  


5         response.write("Hello World");  


6         response.end();  


7         }).listen(9987); 
执行:


查看源代码打印帮助
1 node hello.js 
然后在浏览器输入: http://127.0.0.1:9987 可以显示”Hello World”就说明安装成功了


2. 安装依赖包


从 https://github.com/killme2008/node-zk-browser 上下载程序,进入node-zk-browser-master目录。


执行如下命令来安装依赖包,如ejs,express,express-namespace和zookeeper


查看源代码打印帮助
1 npm install -d 
安装完成后会在node-zk-browser-master/node_modules目录下生成ejs,express,express-namespace和zookeeper四个目录。


这一步可能会比较慢,要看网速。


3. 配置 node-zk-browser-master


查看源代码打印帮助
1 export ZK_HOST="10.1.1.10:2181" 
或者修改app.js中的一行为:


查看源代码打印帮助
1 var zkclient = new ZkClient("10.1.1.10:2181"); 
用户名和密码是在 user.json 中,只有登录后才能再web界面上创建删除zk节点


最后启动服务:


查看源代码打印帮助
1 ./start.sh 
浏览器输入:http://10.1.1.10:3000 就可以访问了,默认端口为3000在app.js中可以修改。


可能出现的问题:

2.升级python

centos系统默认装的python版本为2.4,而node.js依赖的python版本需要大于等于2.6.

首先下载python,这是用的是2.6.7

01.wget http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tar.bz2   
wget http://www.python.org/ftp/python/2.6.7/Python-2.6.7.tar.bz2  接下来编译安装python 

[plain] view plaincopyprint?
01.$tar jxvf  Python2.6.7.tar.bz2    
02.$cd Python2.6.7    
03.$./configure    
04.$make   
05.$make install    
$tar jxvf  Python2.6.7.tar.bz2  
$cd Python2.6.7  
$./configure  
$make 
$make install   我在make时出了error 

make
  File "../../tools/js2c.py", line 36, in <module>
    import bz2
ImportError: No module named bz2
make[1]: *** [/home/packages/node-v0.8.12/out/Release/obj/gen/libraries.cc]  1


解决办法:

01.yum -y install bzip2*  
02.cd Python-2.7.3/Modules/zlib  
03../configure ;  
04.make;  
05.make install  
06.cd Python-2.7.3/  
07.python setup.py install  
yum -y install bzip2*
cd Python-2.7.3/Modules/zlib
./configure ;
make;
make install
cd Python-2.7.3/
python setup.py install 接着回到python宿主目录,再make 

01../configure --prefix=/usr/local/nodejs  
02.make  
03.make install  
./configure --prefix=/usr/local/nodejs
make
make install 然后检查下python版本 




[plain] view plaincopyprint?
01.python -V  
02.2.6.7  
python -V
2.6.7发现已经升级了。然是由于系统的yum服务依赖于2.4版本的python所以还要进行一点处理操作。 


接着将默认的python服务设置为2.6,


01.mv /usr/bin/python  /usr/bin/python.bak    
02.ln -s //usr/local/bin/python2.6 /usr/bin/python    
mv /usr/bin/python  /usr/bin/python.bak  
ln -s //usr/local/bin/python2.6 /usr/bin/python  
将yum依赖的python依然指向2.4

编辑/usr/bin/yum文件,将第一行的#/usr/bin/python修改为

#/usr/bin/python2.4

然后看看yum是否正常,yum --version,如果现实版本python升级成功。



转载:http://www.rigongyizu.com/node-zookeeper-browser-install/,http://blog.csdn.net/liubo2012/article/details/8367603






Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐