ZooKeeper3.6.3 集群搭建

在这里插入图片描述

首先将三台虚拟机切换至相互免秘钥快照(keyfree),然后将准备好的 ZooKeeper 安装包上传至服务器。

1. node01

先在 node01 机器上执行以下操作。

解压。

tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/yjx/
rm apache-zookeeper-3.6.3-bin.tar.gz -rf

创建数据目录、日志目录。

mkdir -p /var/yjx/zookeeper/data
mkdir -p /opt/yjx/apache-zookeeper-3.6.3-bin/logs

修改配置文件,ZooKeeper 启动时默认加载的配置文件名为zoo.cfg

cd /opt/yjx/apache-zookeeper-3.6.3-bin/
cp conf/zoo_sample.cfg conf/zoo.cfg
vim conf/zoo.cfg

主要修改以下内容(数字表示行号):

12 dataDir=/var/yjx/zookeeper/data
13 dataLogDir=/opt/yjx/apache-zookeeper-3.6.3-bin/logs

15 clientPort=2181

37 server.1=node01:2888:3888
38 server.2=node02:2888:3888
39 server.3=node03:2888:3888

server.1 中的 1 是 myid 文件中的内容,2888 用于集群内部通信,3888 用于选举 Leader。

2. node02/03

接下来将 node01 的 ZooKeeper 所有文件拷贝至 node02 和 node03。推荐从 node02 和 node03 拷贝。

[root@node02 ~]# scp -r root@node01:/opt/yjx/apache-zookeeper-3.6.3-bin /opt/yjx/
[root@node03 ~]# scp -r root@node01:/opt/yjx/apache-zookeeper-3.6.3-bin /opt/yjx/

# 或者使用分发脚本
[root@node01 ~]# yjxrsync /opt/yjx/apache-zookeeper-3.6.3-bin

3. node01/02/03

然后在三台机器的 /var/yjx/zookeeper/data 目录下分别创建 myid 文件,内容分别为 1,2,3。

node01:

echo 1 > /var/yjx/zookeeper/data/myid

node02:

mkdir -p /var/yjx/zookeeper/data
echo 2 > /var/yjx/zookeeper/data/myid

node03:

mkdir -p /var/yjx/zookeeper/data
echo 3 > /var/yjx/zookeeper/data/myid

4. 环境变量

最后 vim /etc/profile 配置环境变量,环境搭建结束。

export ZOOKEEPER_HOME=/opt/yjx/apache-zookeeper-3.6.3-bin
export PATH=$ZOOKEEPER_HOME/bin:$PATH

配完环境变量后 source /etc/profile 重新加载环境变量。

5. 启动/查看状态/关闭

#启动集群:三台机器均运行
zkServer.sh start

#查看状态:三台机器均运行
zkServer.sh status

#停止集群:三台机器均运行
zkServer.sh stop

:三台机器均运行
zkServer.sh start

#查看状态:三台机器均运行
zkServer.sh status

#停止集群:三台机器均运行
zkServer.sh stop


环境搭建成功后,删除 ZooKeeper 安装包, `shutdown -h 0` 关机拍摄快照。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐