一:集群环境
模拟三台zookeeper集群环境,IP规划如下:
Server1: 192.168.189.129
Server2: 192.168.189.131
Server3: 192.168.189.132
二:安装环境准备
Zookeeper需在java环境下运行,因此在部署zookeeper环境前,需先安装JDK:
# tar -zvxf jdk-7u11-linux-x64.gz # mv jdk1.7.0_11/ /usr/local/java # cd /usr/local/java/bin
设置java环境变量,在/etc/profile文件中添加以下信息:
# 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安装包,解压,配置:
# 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,配置集群选项:
# 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:
# 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文件:
Server1: #echo “1” >/zkdata/zookeeper/myid Server2: #echo “2” >/zkdata/zookeeper/myid Server3: #echo “3” >/zkdata/zookeeper/myid
四:启用zookeeper
在各Server上依次开启zookeeper服务:
# /usr/local/zookeeper/bin/zkServer.sh start
查看zookeeper状态:
# /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)
#/usr/local/zookeeper/bin/zkCli.sh -server 192.168.189.129
在leader上创建一个znode,并退出
连接follower服务器,查看是否存在之前创建的znode
#/usr/local/zookeeper/bin/zkCli.sh -server 192.168.189.131
发现follower服务器上已经有了leader服务器上创建的znode,说明集群生效
时间: 2024-10-13 00:25:09