ZooKeeper 集群部署
前言
在 Linux 服务器上部署 Zookeeper 之前,需要先安装 JDK。以下是相关版本及环境信息:
JDK 版本 jdk-17_linux-x64_bin.tar.gz
Zookeeper 部署的版本 3.5.7
操作系统版本 Red Hat Enterprise Linux Server release 7.5 (Maipo)
服务器清单:
○ 192.168.88.216 - zkdb01
○ 192.168.88.217 - zkdb02
○ 192.168.88.218 - zkdb03
注意:所有安装包全部上传至每台服务器的/soft/
目录中。
安装部署
资源下载
官网下载地址:https://zookeeper.apache.org/
另外,如果没有找到想要的版本,可从历史归档中获取相关版本(如下截图)
或者直接访问:https://archive.apache.org/dist/zookeeper/
直接下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.5.7/apache-zookeeper-3.5.7-bin.tar.gz
JDK 部署
在安装之前,可先卸载自带的 JDK
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps
- 本次使用到版本jdk-17_linux-x64_bin.tar.gz,将软件上传至每台服务器
/soft/
目录下。 - 解压安装包到/usr/local/
tar -zxf /soft/jdk-8u131-linux-x64.tar.gz -C /usr/local/
- 进入解压后的软件包,查看文件如下:
[root@test01 soft]# cd /usr/local/jdk1.8.0_131/
[root@test01 jdk1.8.0_131]#
[root@test01 jdk1.8.0_131]#
[root@test01 jdk1.8.0_131]# pwd
/usr/local/jdk1.8.0_131
[root@test01 jdk1.8.0_131]# ll
total 25864
drwxr-xr-x 2 10 143 4096 Mar 15 2017 bin
-r--r--r-- 1 10 143 3244 Mar 15 2017 COPYRIGHT
drwxr-xr-x 4 10 143 122 Mar 15 2017 db
drwxr-xr-x 3 10 143 132 Mar 15 2017 include
-rwxr-xr-x 1 10 143 5097105 Mar 15 2017 javafx-src.zip
drwxr-xr-x 5 10 143 185 Mar 15 2017 jre
drwxr-xr-x 5 10 143 245 Mar 15 2017 lib
-r--r--r-- 1 10 143 40 Mar 15 2017 LICENSE
drwxr-xr-x 4 10 143 47 Mar 15 2017 man
-r--r--r-- 1 10 143 159 Mar 15 2017 README.html
-rw-r--r-- 1 10 143 526 Mar 15 2017 release
-rw-r--r-- 1 10 143 21115141 Mar 15 2017 src.zip
-rwxr-xr-x 1 10 143 63933 Mar 15 2017 THIRDPARTYLICENSEREADME-JAVAFX.txt
-r--r--r-- 1 10 143 177094 Mar 15 2017 THIRDPARTYLICENSEREADME.txt
[root@test01 jdk1.8.0_131]#
- 配置环境变量
vim /etc/profile ## 添加如下内容
export JAVA_HOME=/usr/local/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin
---
cat >> /etc/profile <<EOF
export JAVA_HOME=/usr/local/jdk1.8.0_131
export PATH=\$PATH:\$JAVA_HOME/bin
EOF
source /etc/profile
- 验证
[root@localhost soft]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
[root@localhost soft]#
Zookeeper 部署
在安装之前,需要配置服务器的/etc/hosts文件,将对应的 主机名配置
cat >> /etc/hosts <<EOF
192.168.88.216 zkdb01
192.168.88.217 zkdb02
192.168.88.218 zkdb03
EOF
- 创建安装目录
mkdir -p /u01/app
. 解压文件,并重命名
tar -zxf /soft/apache-zookeeper-3.5.7-bin.tar.gz -C /u01/app/
mv /u01/app/apache-zookeeper-3.5.7-bin /u01/app/zookeeper-3.5.7
- 创建 ZK 数据存储目录,以及创建服务 ID
a. 说明:服务 ID(myid),如果第一台服务则为 1,第二台机器为 2,第三台机器为 3
mkdir /u01/app/zookeeper-3.5.7/zkData
## 第一台机器
echo 1 > /u01/app/zookeeper-3.5.7/zkData/myid
## 第二台机器
echo 2 > /u01/app/zookeeper-3.5.7/zkData/myid
## 第三台机器
echo 3 > /u01/app/zookeeper-3.5.7/zkData/myid
- 修改配置文件
cd /u01/app/zookeeper-3.5.7/conf
cp zoo_sample.cfg zoo.cfg
## 1. 修改 dataDir 路径
sed -i 's|dataDir=/tmp/zookeeper|dataDir=/u01/app/zookeeper-3.5.7/zkData|g' zoo.cfg
## 2. 添加以下内容
cat >> zoo.cfg <<EOF
server.1=zkdb01:2888:3888
server.2=zkdb02:2888:3888
server.3=zkdb03:2888:3888
EOF
- 启动:每台服务器都要执行
[root@zkdb01 zookeeper-3.5.7]# sh bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /u01/app/zookeeper-3.5.7/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
- 验证:每台服务器都可执行,注意 字段
Mode
值可能不一样。
[root@zkdb02 zookeeper-3.5.7]# sh bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /u01/app/zookeeper-3.5.7/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
[root@zkdb02 zookeeper-3.5.7]#