搭建一主二从 三个节点 zookeeper 集群环境
*** 使用 zk 的 3.4.13 的版本 ***
注意:对于 zk , 3.4 版本和3.5 版本集群环境是有一些区别的。
3.5 版本以后使用的是动态集群模式,支持集群的动态扩缩容。(可以在不重启的情况下,实现集群的扩容,缩容)
本集群搭建使用的是3.4 的 版本,后面后根据3.5 版本再次进行集群环境的搭建动态扩缩容。
解压安装包
# 依次在三台centos7 中进行zookeeper 安装包的解压
tar -zxvf zookeeper-3.4.13.tar.gz -C /usr/local
# 192.168.1.41
drwxr-xr-x. 10 501 games 4096 6月 30 2018 zookeeper3.4
# 192.168.1.42
drwxr-xr-x. 10 501 games 4096 6月 30 2018 zookeeper3.4
# 192.168.1.43
drwxr-xr-x. 10 501 games 4096 6月 30 2018 zookeeper3.4
ZK 目录结构
zk 的目录结构
- bin 目录:该目录中包含启动脚本,客户端连接的脚本等等。
- conf 目录:主要是一些配置文件
drwxr-xr-x. 2 501 games 223 4月 1 12:04 bin
-rw-r--r--. 1 501 games 91400 6月 29 2018 build.xml
drwxr-xr-x. 2 501 games 92 4月 2 03:45 conf
drwxr-xr-x. 10 501 games 130 4月 1 12:02 contrib
drwxr-xr-x. 2 501 games 4096 4月 1 12:02 dist-maven
drwxr-xr-x. 6 501 games 4096 4月 1 12:02 docs
-rw-r--r--. 1 501 games 1709 6月 29 2018 ivysettings.xml
-rw-r--r--. 1 501 games 8502 6月 29 2018 ivy.xml
drwxr-xr-x. 4 501 games 4096 4月 1 12:02 lib
-rw-r--r--. 1 501 games 11938 6月 29 2018 LICENSE.txt
-rw-r--r--. 1 501 games 3132 6月 29 2018 NOTICE.txt
-rw-r--r--. 1 501 games 1585 6月 29 2018 README.md
-rw-r--r--. 1 501 games 1770 6月 29 2018 README_packaging.txt
drwxr-xr-x. 5 501 games 47 4月 1 12:02 recipes
drwxr-xr-x. 8 501 games 211 6月 29 2018 src
-rw-r--r--. 1 501 games 1508639 6月 29 2018 zookeeper-3.4.13.jar
-rw-r--r--. 1 501 games 833 6月 30 2018 zookeeper-3.4.13.jar.asc
-rw-r--r--. 1 501 games 33 6月 29 2018 zookeeper-3.4.13.jar.md5
-rw-r--r--. 1 501 games 41 6月 29 2018 zookeeper-3.4.13.jar.sha
# bin 目录中主要的脚本文件
-rwxr-xr-x 1 502 games 232 5月 4 2018 README.txt
-rwxr-xr-x 1 502 games 2067 2月 7 2020 zkCleanup.sh
-rwxr-xr-x 1 502 games 1158 2月 10 2020 zkCli.cmd
-rwxr-xr-x 1 502 games 1621 2月 7 2020 zkCli.sh
-rwxr-xr-x 1 502 games 1766 2月 7 2020 zkEnv.cmd
-rwxr-xr-x 1 502 games 3690 1月 31 2020 zkEnv.sh
-rwxr-xr-x 1 502 games 1286 1月 31 2020 zkServer.cmd
-rwxr-xr-x 1 502 games 4573 2月 7 2020 zkServer-initialize.sh
-rwxr-xr-x 1 502 games 9386 2月 7 2020 zkServer.sh
-rwxr-xr-x 1 502 games 996 10月 3 2019 zkTxnLogToolkit.cmd
-rwxr-xr-x 1 502 games 1385 2月 7 2020 zkTxnLogToolkit.sh
# conf 目录中包含的配置文件
-rw-r--r--. 1 501 games 535 6月 29 2018 configuration.xsl
-rw-r--r--. 1 501 games 2161 6月 29 2018 log4j.properties
-rw-r--r--. 1 501 games 922 6月 29 2018 zoo_sample.cfg
ZK 常用的命令
# zk 服务启动
./zkServer.sh start
# zk 服务重启
./zkServer.sh restart
# zk 服务停止
./zkServer.sh stop
# zk 的状态
./zkServer.sh status
进行集群环境的配置
以 192.168.1.41 zk 节点为例子。
后面的其他节点直接重复下面的步骤即可。
基于 zoo_sample.cfg 配置文件进行修改。
zoo_sample.cfg 配置文件是 zk 提供给我们的一个样例文件。
但是 zk 启动运行需要使用的文件是 zoo.cfg。因此,我们一般是直接复制 zoo_sample.cfg 该文件并重命名为zoo.cfg 。
cp zoo_sample.cfg zoo.cfg
修改 zoo.cfg 文件
# 配置一些超时时间参数
tickTime=2000
initLimit=10
syncLimit=5
# 配置data 数据文件的目录
dataDir=/zk/zookeeper
# 配置客户端连接的端口
clientPort=2181
# 配置集群环境中的节点
server.1=192.168.1.41:2888:3888
server.2=192.168.1.42:2888:3888
server.3=192.168.1.43:2888:3888
在上面的配置中,集群和单机 环境的配置主要是 集群环境中多了三行配置。
server.1=192.168.1.41:2888:3888
server.2=192.168.1.42:2888:3888
server.3=192.168.1.43:2888:3888
这几行的配置,主要描述了集群中的节点信息,以及服务端各个节点之间互相通信的端口号。
创建 数据目录,并创建 myid 文件
在 zoo.cfg 文件中,我们定义了:
dataDir=/zk/zookeeper
该配置主要是zk 的数据存放的位置。我们需要将该目录结构手动创建出来。
- 该目录中会存放zk 的数据。
- 该目录中还会存放zk 启动后的进程ID pid 文件。
- 该目录中需要将myid 文件进行创建。我们需要在该目录中手动创建 myid 文件。
mkdir /zk/zookeeper -p
cd /zk/zookeeper
echo 1 >myid
至此,我们就完成了 192.168.1.41 节点的全部配置。
后面,我们重复上面的步骤,依次进行 192.168.1.42、192.168.1.43 节点的配置即可。
注意:在进行其他节点的配置的时候,所有步骤基本相同。但是注意 myid 文件中的内容。
# 192.168.1.42 节点内容
echo 2 >myid
# 192.168.1.43 节点内容
echo 3 >myid
集群环境启动
zk 集群环境启动和 单机版本的 启动基本没有区别。只需要指定 zkServer.sh 脚本即可。
# 启动192.168.1.41 zk
./zkServer.sh start
# 启动192.168.1.42 zk
./zkServer.sh start
# 启动192.168.1.43 zk
./zkServer.sh start
至此,我们就完成了 3.4.x 版本 zk 集群环境的搭建。
# 192.168.1.41 查看zk的状态,当前节点为 follower 的状态
[root@bogon bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper3.4/bin/../conf/zoo.cfg
Mode: follower
# 192.168.1.42 查看zk的状态,当前节点为 leader 的状态
[root@bogon bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4/bin/../conf/zoo.cfg
Mode: leader
# 192.168.1.43 查看zk的状态,当前节点为 follower 的状态
[root@bogon bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4/bin/../conf/zoo.cfg
Mode: follower
标签:zk,zookeeper,192.168,3.4,games,2018,xr,集群,501
From: https://www.cnblogs.com/YX-NO1/p/17281094.html