一:集群环境
模拟三台zookeeper集群环境,IP规划如下:
Server1: 192.168.189.129
Server2: 192.168.189.131
Server3: 192.168.189.132
二:安装环境准备
Zookeeper需在java环境下运行,因此在部署zookeeper环境前,需先安装JDK:
1
2
3
|
# tar -zvxf jdk-7u11-linux-x64.gz
# mv jdk1.7.0_11/ /usr/local/java
# cd /usr/local/java/bin
|
设置java环境变量,在/etc/profile文件中添加以下信息:
1
2
3
4
5
|
# export JAVA_HOME=/usr/local/java
# export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# export PATH=$PATH:$JAVA_HOME/bin
使环境变量生效
# source /etc/profile
|
三:部署安装zookeeper(以zookeeper-3.4.5版本为例)
Server1上部署(部署完成后可将zookeeper目录直接拷贝到Server2,Server3)
下载zookeeper安装包,解压,配置:
1
2
3
4
|
# tar -zxvf zookeeper-3.4.5.tar.gz
# mv zookeeper-3.4.5.tar.gz /usr/local/zookeeper
# cd /usr/local/zookeeper/conf
# cp zoo_sample.cfg zoo.cfg
|
配置zoo.cfg,配置集群选项:
1
2
3
4
5
6
7
8
9
|
# cat zoo.cfg
tickTime=2000 (服务器与客户端的心跳时间)
initLimit=10
syncLimit=5
dataDir=
/zkdata/zookeeper
(保存数据目录,自定义)
clientPort=2181 (客户端连接端口,可更改)
server.1=192.168.189.129:2888:3888 (集群配置)
server.2=192.168.189.131:2888:3888
server.3=192.168.189.132:2888:3888
|
配置完Server1,把zookeeper目录拷贝到Server2,Server3:
1
2
|
# scp -rp /usr/local/zookeeper 192.168.189.131:/usr/local/
# scp -rp /usr/local/zookeeper 192.168.189.132:/usr/local/
|
在各Server的dataDir目录下创建myid文件:
1
2
3
4
5
6
|
Server1:
#echo “1” >/zkdata/zookeeper/myid
Server2:
#echo “2” >/zkdata/zookeeper/myid
Server3:
#echo “3” >/zkdata/zookeeper/myid
|
四:启用zookeeper
在各Server上依次开启zookeeper服务:
1
|
# /usr/local/zookeeper/bin/zkServer.sh start
|
查看zookeeper状态:
1
2
3
4
|
# /usr/local/zookeeper/bin/zkServer.sh status
JMX enabled by default
Using config:
/home/usr/local/zookeeper-3
.4.5
/bin/
..
/conf/zoo
.cfg
Mode: follower(或是leader)
|
出现以上信息,说明zookeeper服务启用成功,并且选举出了leader与follower的集群关系。
五:测试zookeeper集群
使用客户端软件连接leader服务器(假设选举出的leader为Server1)
1
|
#/usr/local/zookeeper/bin/zkCli.sh -server 192.168.189.129
|
在leader上创建一个znode,并退出
连接follower服务器,查看是否存在之前创建的znode
1
|
#/usr/local/zookeeper/bin/zkCli.sh -server 192.168.189.131
|
发现follower服务器上已经有了leader服务器上创建的znode,说明集群生效
本文转自 icenycmh 51CTO博客,原文链接:http://blog.51cto.com/icenycmh/1846495,如需转载请自行联系原作者