Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。本文侧重于zookeeper的快速搭建。具体分为单机配置和集群模式两部分。

一、单机模式

1、配置JDK环境,略过。

2、获取及下载zookeeper

下载地址:http://mirror.bit.edu.cn/apache/zookeeper/stable/ ,

1#wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
2#tar zxvf zookeeper-3.4.6.tar.gz -C /usr/local
3#cd /usr/local
4#mv zookeeper-3.4.6 zookeeper

3、配置cfg文件

复制cfg配置文件

1#cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg

并将配置文件中的datadir修改存放zookeeper的直实路径,如:

1dataDir=/opt/zookeeper

4、创建数据目录并启动zookeeper

1#mkdir -p  /opt/zookeeper
2#/usr/local/zookeeper/bin/zkServer.sh start

5、检测是否启动成功

1#/usr/local/zookeeper/bin/zkCli.sh
23#echo stat|nc localhost 2181 

二、集群模式

前两步操作和单机模式下的操作相同,这里略过,直接从第三步开始。

3、配置 cfg文件

修改配置文件的内容如下:

1tickTime=2000
2dataDir=/opt/zookeeper
3clientPort=2181
4initLimit=5
5syncLimit=2
6server.1=192.168.1.1:2888:3888
7server.2=192.168.1.2:2888:3888
8server.3=192.168.1.3:2888:3888 

具体可以参看:http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html#sc_RunningReplicatedZooKeeper

这里要注意下server.1这个后缀,表示的是192.168.1.1这个机器,在机器中的server id是1 。

4、创建server id

在/opt/zookeeper目录下创建myid文件,并将机器ID写入该文件,如本例中的是1 。另外两台机器做同样的操作

5、启动zookeeper

按顺序依次启动1、2、3主机

1#/usr/local/zookeeper/bin/zkServer.sh start

启动完成后,检测方法同单机模式一样,通过如下方式检测

1#/usr/local/zookeeper/bin/zkCli.sh
23#echo stat|nc localhost 2181