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)。
相关文章推荐
- StringBuilder常用方法
- STL源码剖析---deque
- android UI取消标题栏及状态栏
- Codeforces 336C Vasily the Bear and Sequence (暴力)
- Android中UI线程Looper,Handler的关系
- iOS7/8 UIButton高亮状态延迟有关问题全解
- 更新UI的四种方式
- build-root-2012编译时遇到的问题
- URAL 1183.Brackets Sequence ( DP+记录路径)
- iOS通过CAShapeLayer和UIBezierPath画环形进度条
- 3种特殊流程控制语句
- PHP中include和require的区别详解
- 快排(QuickSort)的java语言的实现
- 【转】判断UIViewController是否正在显示
- poj-1947 Rebuilding Roads
- Android L 新增UI控件:RecyclerView CardView的简单使用
- UINavigationBar基本设置
- UIButton和UIImageView的区别
- jquer匹配
- jquer兄弟节点问题(购物评价星星)