一、准备环境
1.1、三台服务器 系统 Centos 7.9
1 2 3
| 192.168.100.161 # 对应zookeeperID 2181 192.168.100.162 # 对应zookeeperID 2182 192.168.100.163 # 对应zookeeperID 2183
|
1.2、三台服务器上安装 Java
1 2
| $ curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo $ yum install -y java-11-amazon-corretto-devel
|
1.3、修改hosts
三台服务器上操作
1 2 3 4
| $ vim /etc/hosts 192.168.100.161 zk01 192.168.100.162 zk02 192.168.100.163 zk03
|
二、安装
三台服务器上操作
2.1、下载安装包
1 2 3 4
| $ cd /usr/local/src $ wget https://downloads.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz $ tar xf apache-zookeeper-3.6.3-bin.tar.gz && mv apache-zookeeper-3.6.3-bin /usr/local/apache-zookeeper-3.6.3-bin $ ln -s /usr/local/apache-zookeeper-3.6.3-bin /usr/local/zookeeper
|
2.2、修改环境变量
编辑 /etc/profile 文件, 在文件末尾添加以下环境变量配置:
1 2 3
| $ vim /etc/profile export ZOOKEEPER_HOME=/usr/local/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin
|
2.3、添加用户
1
| $ useradd -s /sbin/nologin -M zookeeper
|
2.4、初始化配置文件
初次使用 ZooKeeper时,需要将/usr/local/zookeeper/conf 目录下的 zoo_sample.cfg 重命名为 zoo.cfg
1 2 3 4 5 6 7 8 9 10 11 12 13
| $ cp -rpv /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg $ cat /usr/local/zookeeper/conf/zoo.cfg autopurge.purgeInterval=24 standaloneEnabled=false dataDir=/data/zookeeper/zookeeper_data/2181 autopurge.snapRetainCount=10 initLimit=10 4lw.commands.whitelist=* tickTime=2000 syncLimit=5 dataLogDir=/data/zookeeper/zookeeper_logs/2181 reconfigEnabled=true dynamicConfigFile=/usr/local/zookeeper/conf/zoo_replicated.2181.cfg.dynamic
|
2.4、创建目录
1 2 3 4
| $ mkdir -pv /data/zookeeper/{zookeeper_data,zookeeper_logs} $ mkdir -p /data/zookeeper/zookeeper_data/ID $ chown zookeeper.zookeeper /data/zookeeper -R $ chown zookeeper.zookeeper /usr/local/zookeeper/ -R
|
2.5、server ID 2181 2182 2183
1 2 3
| $ cd /data/zookeeper/zookeeper_data/ID $ echo ID > myid
|
2.6、 集群配置文件
1 2 3 4 5 6 7
| $ vim zoo_replicated.ID.cfg.dynamic
server.2181=zk01:2888:3888:participant;0.0.0.0:2181 server.2182=zk02:2889:3889:participant;0.0.0.0:2182 server.2183=zk03:2890:3890:participant;0.0.0.0:2183
$ chown zookeeper.zookeeper zoo_replicated.ID.cfg.dynamic
|
2.7、配置内存
默认给的256M 太小
1
| echo 'export JVMFLAGS="-Xms1024m -Xmx1024m $JVMFLAGS"' > /usr/local/zookeeper/conf/java.env
|
三、服务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| $ vim /etc/systemd/system/zookeeper.service
[Unit] Description=Zookeeper Requires=network.target After=network.target
[Service] User=java Group=java Type=forking Environment=JAVA_HOME=/usr/bin/java WorkingDirectory=/usr/local/zookeeper ExecStart=/usr/local/zookeeper/bin/zkServer.sh start /usr/local/zookeeper/conf/zoo.cfg ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop /usr/local/zookeeper/conf/zoo.cfg ExecReload=/usr/local/zookeeper/bin/zkServer.sh restart /usr/local/zookeeper/conf/zoo.cfg User=zookeeper Group=zookeeper
[Install] WantedBy=multi-user.target
|
启动
1 2 3 4 5 6
| $ systemctl daemon-reload
$ systemctl start zookeeper.service
$ systemctl stop zookeeper.service
|