共需要部署两个ZooKeeper集群,CCM ZooKeeper(Cache Cluster Management ZooKeeper)集群和BCM ZooKeeper(Big Cluster Management ZooKeeper)集群。CCM ZooKeeper存储全局缓存集群信息,BCM ZooKeeper存储加速节点配置信息。
请在所有服务端节点执行以下操作。
部署CCM ZooKeeper集群
- 进入zkData目录。
| cd /opt/apache-zookeeper-3.6.3-bin && mkdir zkData
|
- 创建并修改myid文件。
- 在ceph1节点将“myid”的值设置为“1”。
| cd zkData && echo 1 > myid
|
- 参照如上命令,在ceph2和ceph3节点则分别设置“myid”的值为“2”和“3”。
- 修改“zoo.cfg”配置。
- 进入“conf”目录,打开文件。
| cd /opt/apache-zookeeper-3.6.3-bin/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
|
- 按“i”键进入编辑模式,根据如下内容进行修改。
1
2
3
4
5
6
7
8
9
10
11
12 | tickTime=1000
initLimit=10
syncLimit=2
dataDir=/opt/apache-zookeeper-3.6.3-bin/zkData
clientPort=2181
server.1=ceph1:2888:3888;2181
server.2=ceph2:2888:3888;2181
server.3=ceph3:2888:3888;2181
autopurge.purgeInterval=3
autopurge.snapRetainCount=3
maxClientCnxns=333
4lw.commands.whitelist=*
|
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 修改日志文件配置项,防止日志文件过大。
- 打开“log4j.properties”文件。
- 按“i”键进入编辑模式,根据如下内容进行修改。
| zookeeper.log.maxfilesize=20MB #ZooKeeper日志文件最大大小
zookeeper.log.maxbackupindex=100 #ZooKeeper日志文件最大个数
|
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 打开“zkEnv.sh”文件。
| vim /opt/apache-zookeeper-3.6.3-bin/bin/zkEnv.sh
|
- 按“i”键进入编辑模式,根据如下内容进行修改。
| if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE" #ZooKeeper日志文件输出规则
fi
|
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 修改“zkServer.sh”文件。
- 进入“/opt/apache-zookeeper-3.6.3-bin/bin”目录,打开文件。
| cd /opt/apache-zookeeper-3.6.3-bin/bin
vim zkServer.sh
|
- 按“i”键进入编辑模式,添加如下内容。
| export LD_LIBRARY_PATH="/opt/gcache/lib"
|

- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 添加JAVA_HOME路径。
- 修改打开“zkEnv.sh”文件。
| vim /opt/apache-zookeeper-3.6.3-bin/bin/zkEnv.sh
|
- 按“i”键进入编辑模式,添加如下内容。
| JAVA_HOME="/usr/local/jdk8u282-b08"
|
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 修改目录属组权限。
| chown globalcacheop:globalcache -R /opt/apache-zookeeper-3.6.3-bin
|
部署BCM ZooKeeper集群
- 进入zkData目录。
| cd /opt/apache-zookeeper-3.6.3-bin-bcm && mkdir zkData
|
- 创建并修改myid文件。
- 在ceph1节点将“myid”的值设置为“1”。
| cd zkData && echo 1 > myid
|
- 参照如上命令,在ceph2和ceph3节点则分别设置“myid”的值为“2”和“3”。
- 修改“zoo.cfg”配置。
- 进入“conf”目录,打开文件。
| cd /opt/apache-zookeeper-3.6.3-bin-bcm/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
|
- 按“i”键进入编辑模式,根据如下内容进行修改。
1
2
3
4
5
6
7
8
9
10
11
12 | tickTime=1000
initLimit=10
syncLimit=2
dataDir=/opt/apache-zookeeper-3.6.3-bin-bcm/zkData
clientPort=2182
server.1=ceph1:2889:3889;2182
server.2=ceph2:2889:3889;2182
server.3=ceph3:2889:3889;2182
autopurge.purgeInterval=3
autopurge.snapRetainCount=3
maxClientCnxns=333
4lw.commands.whitelist=*
|
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 修改日志文件配置项,防止日志文件过大。
- 打开“log4j.properties”文件。
- 按“i”键进入编辑模式,根据如下内容进行修改。
| zookeeper.log.maxfilesize=20MB
zookeeper.log.maxbackupindex=100
|
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 打开“zkEnv.sh”文件。
| vim /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkEnv.sh
|
- 按“i”键进入编辑模式,根据如下内容进行修改。
| if [ "x${ZOO_LOG4J_PROP}" = "x" ]
then
ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
fi
|
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 修改“zkServer.sh”文件。
- 进入“/opt/apache-zookeeper-3.6.3-bin/bin”目录,打开文件。
| cd /opt/apache-zookeeper-3.6.3-bin-bcm/bin
vi zkServer.sh
|
- 按“i”键进入编辑模式,添加如下内容。
| export LD_LIBRARY_PATH="/opt/gcache/lib"
|

- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 添加JAVA_HOME路径。
- 修改打开“zkEnv.sh”文件。
| vim /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkEnv.sh
|
- 按“i”键进入编辑模式,添加如下内容。
| JAVA_HOME="/usr/local/jdk8u282-b08"
|
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 修改目录属组权限。
| chown globalcacheop:globalcache -R /opt/apache-zookeeper-3.6.3-bin-bcm
|
配置ZooKeeper开机启动
在部署bcm-zk和ccm-zk的节点上设置ZooKeeper开机自动启动。用户根据当前节点实际部署zookeeper类型进行配置,以下示例节点同时部署了bcm-zk和ccm-zk。
- 进入到“/etc/rc.d/init.d”目录下,新建一个ZooKeeper脚本,并添加权限。
| cd /etc/rc.d/init.d/
touch zookeeper
chmod 700 zookeeper
|
- 编辑ZooKeeper脚本。
- 打开脚本。
- 按“i”键进入编辑模式,添加如下内容。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 | #!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/usr/local/jdk8u282-b08
case $1 in
start)
su globalcacheop /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh start
su globalcacheop /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkServer.sh start
;;
stop)
su globalcacheop /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh stop
su globalcacheop /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkServer.sh stop
;;
status)
su globalcacheop /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh status
su globalcacheop /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkServer.sh status
;;
restart)
su globalcacheop /opt/apache-zookeeper-3.6.3-bin/bin/zkServer.sh restart
su globalcacheop /opt/apache-zookeeper-3.6.3-bin-bcm/bin/zkServer.sh restart
;;
*) echo "require start|stop|status|restart" ;;
esac
|
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 添加到开机启动。
| chkconfig --add zookeeper
|
- 检查是否添加成功。
回显打印下图红框中内容,即为添加成功。
