CentOS 7/8 部署Zookeeper集群

 

首先要安装JDK,参考 https://www.cnblogs.com/dotqin/p/13560419.html

环境说明:三台百度云服务器,内网IP分别为: 192.168.32.36、192.168.32.37、192.168.32.38, 不开放公网IP访问

分别在三台服务器上执行以下操作:

1.创建目录及下载解压

mkdir /usr/local/zookeeper
cd /usr/local/zookeeper/
wget https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.6.1/apache-zookeeper-3.6.1-bin.tar.gz
tar -zxvf apache-zookeeper-3.6.1-bin.tar.gz
mv apache-zookeeper-3.6.1-bin zookeeper-3.6.1

2.设置环境变量

复制代码
vim /etc/profile
# 在文件最后添加以下内容
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.6.1
export PATH=$ZOOKEEPER_HOME/bin:$PATH

# 使环境变量生效
source /etc/profile
复制代码

3.设置zkEnv.sh

vim /usr/local/zookeeper/zookeeper-3.6.1/bin/zkEnv.sh
# 在ZOOBINDIR="${ZOOBINDIR:-/usr/bin}"上面添加JAVA_HOME设置 为了之后添加到systemctl服务管理
JAVA_HOME=/usr/local/java/jdk1.8.0_261

4.创建目录及myid文件

mkdir -p /tmp/zookeeper/data
mkdir -p /tmp/zookeeper/log

# 在/tmp/zookeeper/data下建一个myid文件并写入一个数值比如0做为服务器编号,这里三台服务器分别对应 0 1 2
echo 0 > /tmp/zookeeper/data/myid

5.编辑配置文件

复制代码
cd /usr/local/zookeeper/zookeeper-3.6.1/conf/
cp zoo_sample.cfg zoo.cfg

vim zoo.cfg
# 设置以下内容(三台一样)
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log
clientPort=2181
# 以及集群配置(三台一样) server.0=192.168.32.36:2888:3888 server.1=192.168.32.37:2888:3888 server.2=192.168.32.38:2888:3888
# 集群配置可以抽象出一个公式,即server.A=B:C:D,其中A是一个数字,代表服务器的编号,就是前面设置的myid文件中的值,集群中每台服务器的编号必需唯一;B代表服务器的IP地址,C表示服务器与集群中的leader服务器交换信息的端口;D表示选举时服务器之间互相通信的端口。

复制代码

6.添加到服务管理

复制代码
vim /usr/lib/systemd/system/zookeeper.service
# 添加以下内容
[Unit]
Description=zookeeper-3.6.1
After=syslog.target network.target

[Service]
Type=forking
TimeoutSec=120

User=root

ExecStart=/usr/local/zookeeper/zookeeper-3.6.1/bin/zkServer.sh start
ExecStop=/usr/local/zookeeper/zookeeper-3.6.1/bin/zkServer.sh stop
ExecReload=/usr/local/zookeeper/zookeeper-3.6.1/bin/zkServer.sh restart

Restart=always

[Install]
WantedBy=multi-user.target
复制代码

 7.设置服务生效及开机自启动

systemctl daemon-reload
systemctl enable zookeeper.service

8.启动zookeeper

systemctl start zookeeper
systemctl status zookeeper
原文地址:https://www.cnblogs.com/zyb2016/p/13652365.html