您的位置:首页 > 产品设计 > UI/UE

Hue(五)集成Zookeeper

2015-05-31 22:16 701 查看

1. 配置zookeeper

将zookeeper集成到Hue是希望通过Hue的Web界面来查看和操作zookeeper中的znode,这需要zookeeper开启Rest service。

虽然我的zookeeper集群已经安装好了(使用的tar包安装),但是仍然无法直接使用Rest service,因为其中一些依赖包并没有直接集成到安装包中,所以需要我们手动来进行一些操作。

1.1 编译

进入【ZOOKEEPER_HOME】目录下执行编译

$ ant






1.2 拷贝jar包

【ZOOKEEPER_HOME/build/contrib/rest/】目录下的zookeeper-dev-rest.jar拷贝到【ZOOKEEPER_HOME/build/contrib/rest/lib】目录下:

$ cp build/contrib/rest/zookeeper-dev-rest.jar src/contrib/rest/lib/


【ZOOKEEPER_HOME/build/contrib/rest/lib/】目录下的所有jar包拷贝到【ZOOKEEPER_HOME/build/contrib/rest/lib】目录下

$ cp build/contrib/rest/lib/*.jar src/contrib/rest/lib/


【ZOOKEEPER_HOME】目录下的zookeeper-3.4.5-cdh5.2.0.jar拷贝到【ZOOKEEPER_HOME/build/contrib/rest/lib】目录下

$ cp zookeeper-3.4.5-cdh5.2.0.jar src/contrib/rest/lib/


【ZOOKEEPER_HOME/src/java/lib】目录下的所有jar包拷贝到【ZOOKEEPER_HOME/build/contrib/rest/lib】目录下

$ cp src/java/lib/*.jar src/contrib/rest/lib/


1.3 启动Rest service

进入【ZOOKEEPER_HOME/src/contrib/rest】目录下启动Rest service

$ ./rest.sh start




官网是用ant run来启动rest service的,但是太麻烦,并且已经有了脚本,只需要将一些jar包引入进来就行了。具体寻找的jar包过程是这样的,ant run是在【ZOOKEEPER_HOME/src/contrib/rest/】目录下执行的,所以查询该目录下的build.xml文件。



其中${build.dir}这个变量的值不在该build.xml中,往上找发现build.xml引入了上一层目录的build-contrib.xml文件



去上一层目录找build-contrib.xml文件



至此所有需要的jar包就知道了

【ZOOKEEPER_HOME/build/contrib/rest/】目录下的zookeeper-dev-rest.jar;

【ZOOKEEPER_HOME/build/contrib/rest/lib】目录下的所有jar包;

【ZOOKEEPER_HOME/build】目录下的zookeeper-*.jar(我拷贝的是【ZOOKEEPER_HOME】目录下的zookeeper-3.4.5-cdh5.2.0.jar);

【ZOOKEEPER_HOME/src/java/lib】目录下的所有jar包;

关闭命令为

$ ./rest.sh stop




使用如下命令查看日志输出

$ tail -f zkrest.log




使用JPS查看Java进程

$ jps




通过浏览器访问http://localhost:9998/application.wadl



高能预警:如果是在部署zookeeper服务之外机器的浏览器上访问请将localhost缓存主机名或者ip地址,我的是部署在主机名为hadoop-main.dimensoft.com.cn的机器上。

1.4 启动zookeeper

进入【ZOOKEEPER_HOME/bin】目录下启动zookeeper(将zookeeper集群所有节点都启动)。

$ zkServer.sh start




2. 配置Hue

修改【HUE_HOME/desktop/conf/】目录下的hue.ini文件中[zookeeper].[[clusters]].[[[default]]]中zookeeper的host_ports值和rest_url

# Zookeeper ensemble. Comma separated list of Host/Port.
# e.g. localhost:2181,localhost:2182,localhost:2183
## host_ports=localhost:2181
host_ports=hadoop-main.dimensoft.com.cn:2181,hadoop-slave1.dimensoft.com.cn:2181,hadoop-slave2.dimensoft.com.cn:2181
# The URL of the REST contrib service (required for znode browsing)
rest_url=http://hadoop-main.dimensoft.com.cn:9998,http://hadoop-slave1.dimensoft.com.cn:9998,http://hadoop-slave2.dimensoft.com.cn:9998


3. 启动Hue

进入【HUE_HOME】下启动Hue

$ build/env/bin/supervisor




访问Hue的Web 界面http://hadoop-main.dimensoft.com.cn:8888/









功能预警:这里发现一个问题,当任何一个zookeeper节点挂掉之后Hue的zookeeper界面就无法访问了,目前还没有解决(所有zookeeper节点都启动了REST service)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: