Skip to content
On this page

ZooKeeper 集群部署

  1. 规划节点 |IP | 主机名 | 节点 | |:-----------😐:------😐:----------------------😐 |192.168.200.14| ZooKeeper1 | 集群节点| |192.168.200.15| ZooKeeper2 | 集群节点| |192.168.200.16| ZooKeeper3 | 集群节点|

全部修改主机名

hostnamectl set-hostname ZooKeeper1
hostnamectl set-hostname ZooKeeper2
hostnamectl set-hostname ZooKeeper3

全部添加本地解析

echo "192.168.200.14 ZooKeeper1 
192.168.200.15 ZooKeeper2 
192.168.200.16 ZooKeeper3" >> /etc/hosts

全部关闭防火墙

systemctl stop firewalld && systemctl disable firewalld

全部关闭selinux

sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
setenforce 0

配置yum源

提醒

你可以根据自己的意愿来,在ZooKeeper任意节点搭建ftp的yum源

备份原来的

mkdir /etc/yum.repos.d/backrepo
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backrepo
scp 192.168.200.11:/etc/yum.repos.d/local.repo /etc/yum.repos.d/local.repo
yum list

开始搭建ZooKeeper

安装 JDK 环境

3 个节点安装 Java JDK 环境,3 个节点均执行命令如下:

yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
java -version

将zookeeper-3.4.14.tar.gz 软件包上传至 3 个节点的/root 目录下

[root@zookeeper1 ~]# scp zookeeper-3.4.14.tar.gz zookeeper2:/root/
The authenticity of host 'zookeeper2 (192.168.200.15)' can't be established.
ECDSA key fingerprint is 10:a1:26:13:f5:8b:f7:71:a1:e5:e9:1f:7c:cf:dc:47.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'zookeeper2,192.168.200.15' (ECDSA) to the list of known hosts.
root@zookeeper2's password:
zookeeper-3.4.14.tar.gz                                                                                                                    100%   36MB  35.9MB/s   00:00
[root@zookeeper1 ~]# scp zookeeper-3.4.14.tar.gz zookeeper3:/root/
The authenticity of host 'zookeeper3 (192.168.200.16)' can't be established.
ECDSA key fingerprint is 10:a1:26:13:f5:8b:f7:71:a1:e5:e9:1f:7c:cf:dc:47.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'zookeeper3,192.168.200.16' (ECDSA) to the list of known hosts.
root@zookeeper3's password:
zookeeper-3.4.14.tar.gz

全部节点解压zookeeper-3.4.14.tar.gz

tar -zxvf zookeeper-3.4.14.tar.gz

在全部节点,进入zookeeper-3.4.14/conf目录下,修改zoo_sample.cfg文件为zoo.cfg,

mv /root/zookeeper-3.4.14/conf/zoo_sample.cfg  /root/zookeeper-3.4.14/conf/zoo.cfg

并执行以下命令向/root/zookeeper-3.4.14/conf/zoo.cfg文件追加内容:

echo "server.1=192.168.200.14:2888:3888" >> /root/zookeeper-3.4.14/conf/zoo.cfg
echo "server.2=192.168.200.15:2888:3888" >> /root/zookeeper-3.4.14/conf/zoo.cfg
echo "server.3=192.168.200.16:2888:3888" >> /root/zookeeper-3.4.14/conf/zoo.cfg

提醒

注意是自己的主机ip地址

全部节点创建myid文件

[root@zookeeper1 ~]# mkdir /tmp/zookeeper
[root@zookeeper1 ~]# echo "1" > /tmp/zookeeper/myid
[root@zookeeper1 ~]# cat /tmp/zookeeper/myid 
1
[root@zookeeper2 ~]# mkdir /tmp/zookeeper
[root@zookeeper2 ~]# echo "2" > /tmp/zookeeper/myid
[root@zookeeper2 ~]# cat /tmp/zookeeper/myid 
2
[root@zookeeper3 ~]# mkdir /tmp/zookeeper
[root@zookeeper3 ~]# echo "3" > /tmp/zookeeper/myid
[root@zookeeper3 ~]# cat /tmp/zookeeper/myid 
3

全部节点启动ZooKeeper服务

/root/zookeeper-3.4.14/bin/zkServer.sh start

全部节点查看ZooKeeper服务状态

/root/zookeeper-3.4.14/bin/zkServer.sh status
[root@zookeeper1 ~]# /root/zookeeper-3.4.14/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
[root@zookeeper2 ~]# /root/zookeeper-3.4.14/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: leader
[root@zookeeper3 ~]# /root/zookeeper-3.4.14/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower

所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自linlink~文档