linux上Zookeeper集群安装及监控

时间:2022-05-21 08:25:09

ZooKeeper是Hadoop的正式子项目,它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

1.安装jdk

步骤省略,不清楚的百度一下。

2.配置2台ZooKeeper服务集群

    准备环境:2台linux服务   192.168.36.91 和192.168.36.127    

在192.168.36.91 上创建用户ZooKeeper ,并切换该用户目录下:

(1)下载:wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

解压 tar -zxvf   zookeeper-3.4.6.tar.gz

(2)创建数据、日志目录

cd /home/zookeeper/zookeeper-3.4.6

mkdir data 

mkdir logs

(3)修改配置文件

cd conf/

cp zoo_sample.cfg  zoo.cfg

vi zoo.cfg

配置如下:

tickTime=2000
initLimit=10
syncLimit=5
#数据目录
dataDir=/home/zookeeper/zookeeper-3.4.6/data
#日志目录
dataLogDir=/home/zookeeper/zookeeper-3.4.6/logs
clientPort=2181
#集群配置
server.1=192.168.36.91:2888:3888
server.2=192.168.36.127:2888:3888
其他配置请参考官网

(4)设置myid

在我们创建的data目录下面,创建一个myid文件,里面内容为一个数字,用来标识当前主机,conf/zoo.cfg文件中配置的server.X中X为什么数字,则myid文件中就输入这个数字

echo "1"  > /home/zookeeper/zookeeper-3.4.6/data/myid

另台服务192.168.36.127安装类似,不同的是 myid输入的为2

(5)启动  、关闭、查看状态

./bin/zkServer.sh start
./bin/zkServer.sh stop
./bin/zkServer.sh status

查看服务注册:

命令行: (详情参考: http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html)
telnet 192.168.36.91  2181
dump
或者  echo dump | nc  192.168.36.91  2181
(6)遇见问题

启动后无法连接,telnet 192.168.36.127  2181 提示:“no route to host”(安装的是虚拟机,使用桥接方式),路由不可达,使用:iptables -F  清楚路由规则或关闭iptables(命令:service iptables stop)

3、配置监控

   考虑使用taobao的taokeeper

https://github.com/alibaba/taokeeper

https://github.com/alibaba/taokeeper/downloads

使用参考:

http://jm-blog.aliapp.com/?p=1450

http://sofar.blog.51cto.com/353572/1298468

4、管理工具

(1)zookeeper-web - 在线 zookeeper管理工具

zookeeper-web是一个简单的、方便的zookeeper管理工具。我厌烦了通过命令行来管理zookeeper,同时需要一个我熟悉的框架来开发的工具。借鉴了github上一个用python写的管理工具(抱歉,我后来没有找到这个项目的地址)。
使用主流的springmvc、freemarker、bootstrap和zkclient来开发。
 

地址:https://git.oschina.net/crystony/zookeeper-web


(2)node-zk-browser  使用node.js开发的web管理界面

地址:https://github.com/killme2008/node-zk-browser

安装:http://www.rigongyizu.com/node-zookeeper-browser-install/