0


ZooKeeper完美安装指南:在CentOS中从单节点到集群部署全攻略

文章目录

1.引言

  ZooKeeper是一个集中式服务,用于维护配置信息、命名、提供分布式同步和提供群组服务。其高效且稳定的特性使得它成为分布式环境中的不可或缺的组件。本文将深入探讨如何在CentOS 系统上安装和配置最新版本的ZooKeeper,涵盖从单节点到集群的全面部署。

2.环境准备

2.1 软件版本

系统版本:centos7.6
jdk版本:jdk8(从zookeeper3.5.5开始,最低的jdk版本就是jdk8)
zookeeper版本:3.8.1

2.2 安装jdk

  1. 登陆jdk8下载地址,下载jdk8,也可以使用我复制出来的地址
  2. 解压到/usr/local/jdk
  3. 配置环境变量,vi /etc/profile,在末尾添加
#java environmentexportJAVA_HOME=/usr/local/jdk
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportPATH=$PATH:$JAVA_HOME/bin

执行刷新命令是配置生效:

source /etc/profile
  1. 执行java -version打印jdk信息
[root@localhost ~]# java -version
java version "1.8.0_301"
Java(TM) SE Runtime Environment (build 1.8.0_301-b09)
Java HotSpot(TM)64-Bit Server VM (build 25.301-b09, mixed mode)[root@worker1 zookeeper]# 

3.下载和解压

登陆下载地址,选择下载最新的3.8.1版本或者使用我复制的地址
在这里插入图片描述
执行解压

tar -zxvf apache-zookeeper-3.8.1-bin.tar.gz

移动目录

mv apache-zookeeper-3.8.1-bin /usr/local/zookeeper

4.配置文件详解

# 设置ZooKeeper的基本时间单元(单位:毫秒)。该时间用于心跳和超时等。tickTime=2000# 设置ZooKeeper集群中的Follower服务器初始化连接到Leader服务器的超时时间(以tickTime的倍数表示)initLimit=10# 设置ZooKeeper集群中Follower服务器与Leader服务器之间的同步限制(以tickTime的倍数表示)syncLimit=5# 指定ZooKeeper数据存储目录 dataDir=/usr/local/zookeeper/data
# 指定ZooKeeper事务日志目录,如果不配置默认使用dataDir配置dataLogDir=/usr/local/zookeeper/logs
# 指定ZooKeeper客户端访问端口clientPort=2181# 设置ZooKeeper的最大客户端连接数。设置为0表示无限制maxClientCnxns=60# 设置自动清理旧的事务快照文件的保留数量
autopurge.snapRetainCount=3# 设置自动清理旧的事务快照文件的时间间隔(以小时为单位),设置为"0"以禁用自动清理功能
autopurge.purgeInterval=1

5.单节点安装

进入到 zookeeper目录下执行创建数据目录和日志目录

[root@localhost zookeeper]# mkdir {data,logs}

在 conf目录下,复制 zoo_sample.cfg并重命名为 zoo.cfg,zookeeper启动时会寻找conf目录下的zoo.cfg配置文件

[root@localhost zookeeper]# cp conf/zoo_sample.cfg  conf/zoo.cfg

修改zoo.cfg文件,主要修改数据目录和日志目录

dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs

执行启动命令

bin/zkServer.sh start

或者,这里需要注意的是–config是跟配置文件的目录,不是跟配置文件

bin/zkServer.sh --config conf start

检查是否启动,执行

jps

,可以看到 多了一个QuorumPeerMain进程,说明以及启动成功

[root@localhost zookeeper]# jps7698 QuorumPeerMain
7810 Jps
[root@localhost zookeeper]# 

6.集群安装

6.1 机器准备

我准备了三台都安装了jdk8的机器,分别是 192.168.1.21,192.168.1.22,192.168.1.23
为了后续配置方便,需要分别修改机器的hostname,
机器1执行:

hostnamectl set-hostname worker1

机器2执行:

hostnamectl set-hostname worker2

机器2执行:

hostnamectl set-hostname worker3

可以通过

uname -a

查看使用生效
同时还需要修改了这三台机器本地的host文件内容:

192.168.1.21 worker1
192.168.1.22 worker2
192.168.1.23 worker3

*修改host内容执行

 vi /etc/hosts

,修改后保存就生效*

6.2 修改配置文件

三台机器需要在zookeeper安装目录下创建数据目录 data 和日志目录 logs
因为三台机器配置了hostname和修改了host,所以三台机器可以使用下面相同的配置:

tickTime=2000initLimit=10syncLimit=5dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
clientPort=2181maxClientCnxns=60
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=worker1:2888:3888
server.2=worker2:2888:3888
server.3=worker3:2888:3888

关于

server.1=worker1:2888:3888

的详解:
1 :是服务器的唯一标识,后续在数据目录下创建 myid 文件,文件内容就是该ID的值(6.3步骤创建内容)
worker1 :是服务器的主机名或 IP 地址,前面修改了host内容,所以可以使用worker1
2888 :节点间数据同步的通信端口
3888 :用于选举 Leader 节点的通信端口

6.3 创建myid文件

机器1执行:

echo 1 >> /usr/local/zookeeper/data/myid

机器2执行:

echo 2 >> /usr/local/zookeeper/data/myid

机器3执行:

echo 3 >> /usr/local/zookeeper/data/myid

6.4 启动集群

在三台机器上分别执行启动命令

bin/zkServer.sh start 

7. GUI工具推荐

我这里推荐使用PrettyZoo,我是在windows下使用,所以下载prettyZoo-win.zip
在这里插入图片描述
下载解压后,直接双击prettyZoo.exe即可使用
在这里插入图片描述

8. 测试集群

使用prettyZoo工具,添加我们机器1的地址,添加ip地址后,点击save保存
在这里插入图片描述
添加数据,输入路径和数据后点击 create 创建
在这里插入图片描述
添加并连接机器2
在这里插入图片描述
可以看到我们前面子在机器1添加的数据
在这里插入图片描述

  1. 总结   本文详细介绍了在CentOS 7.6上安装和配置ZooKeeper 最新的3.8.1。从环境准备开始,进而到zookeeper的下载和安装,并提供了配置文件的详细解释。同时,还推荐了一个实用的GUI工具,并通过实际的测试验证了集群的安装情况。通过本文,希望你能了解并掌握在CentOS 7.6环境下如何配置和使用ZooKeeper。

本文转载自: https://blog.csdn.net/dougsu/article/details/131503755
版权归原作者 dougsu 所有, 如有侵权,请联系我们删除。

“ZooKeeper完美安装指南:在CentOS中从单节点到集群部署全攻略”的评论:

还没有评论