ZooKeeper的安装与集群搭建

安装单机 Zookeeper

1. 下载Zookeeper 安装包

http://zookeeper.apache.org 官网下载。

2. 上传安装包

将下载的 Zookeeper 安装包上传到 zk04 主机的/usr/tools 目录。
我一般安装包放在tools里,安装在apps里

3. 安装配置 zk

(1) 解压安装包

在这里插入图片描述
解压后的目录结构在这里插入图片描述
bin目录中,核心的两个命令:一个是客户端命令,一个是服务端命令在这里插入图片描述

(2) 创建软链接

目的是后面把路径注册到path路径下,让它和版本号解除绑定在这里插入图片描述

(3) 复制配置文件

复制 Zookeeper 安装目录下的 conf 目录中的 zoo_sample.cfg 文件,并命名为 zoo.cfg。
在这里插入图片描述

(4) 修改配置文件

在这里插入图片描述

  • tickTime:对于zookeeper计时单位是1tick,而1tick就是2000毫秒
  • initLimit:初始化同步阶段花费的tick时间数量,即初始化同步的超时时限
  • syncLimit:更新同步的超时时限
  • dataDir:快照存储的目录,除了快照还有其他内容,禁止使用/tmp,临时目录
    • 每隔一段时间会把树形结构的数据序列化然后存入磁盘
  • clientPort:客户端端口号,即当前服务端监控的端口号是2181,客户端想要连接我就使用2181端口。

(5) 新建数据存放目录

在这里插入图片描述

(6) 注册 bin 目录

在这里插入图片描述
在这里插入图片描述

(7) 重新加载 profile 文件

在这里插入图片描述

4. 操作 zk

(1) 开启 zk

在这里插入图片描述

(2) 查看状态

在这里插入图片描述
standalone:代表单机版

(3) 重启 zk

在这里插入图片描述

(4) 停止 zk

在这里插入图片描述

搭建 Zookeeper 集群

下面要搭建一个由四台 zk 构成的 zk 集群,其中一台为 Leader,两台 Follower,一台Observer。

1. 克隆并配置第一台主机

(1) 克隆并配置主机

克隆前面单机 Zookeeper 主机后,要修改如下配置文件:

  • 修改主机名:/etc/hostname
  • 修改网络配置:/etc/sysconfig/network-scripts/ifcfg-ens33

(2) 创建 myid 文件

在/usr/data/zookeeper 目录中创建表示当前主机编号的 myid 文件,该编号为当前主机在集群中的唯一标识。
在这里插入图片描述

(3) 修改 zoo.cfg

在 zoo.cfg 文件中添加 zk 集群节点列表。
在这里插入图片描述
2888叫做连接端口号,集群正常运行状态下,他们之间通信就是通过2888端口通信的
3888是选举端口号,当集群Leader选举的时候,他们之间通信用的就是3888端口

2. 克隆并配置另两台主机

克隆并配置另外两台主机的方式是相同的,下面以 zkos2 为例。

(1) 克隆主机

克隆前面 zkos1 主机后,要修改如下配置文件:

  • 修改主机名:/etc/hostname
  • 修改网络配置:/etc/sysconfig/network-scripts/ifcfg-ens33

(2) 修改 myid

修改 myid 的值与 zoo.cfg 中指定的主机编号相同。
在这里插入图片描述
在这里插入图片描述

3. 克隆并配置第四台主机

第四台主机即为要作 Observer 的主机。
在这里插入图片描述

4. 启动 zk 集群

使用 zkServer.sh start 命令,逐个启动每一个 Zookeeper 节点主机。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

关闭机器2,机器3成为leader,查看机器3下的data/…/version-2/目录
在这里插入图片描述
acceptedEpoch:接受的epoch
currentEpoch:当前的epoch
snapshot.10000:每个一段时间zookeeper会将树形结构的数据序列化存一份

在这里插入图片描述
看到机器3接受和当前的epoch都是2,因为刚才重新选举过一次

伪集群的搭建

这里要搭建的集群与前面的集群相同,都由四台服务器组成,其中第四台为 Observer。
伪集群的搭建与真实集群的搭建差不多。其主机步骤分为四大步。

1. 复制配置文件

这里需要四个配置文件,都存放在 zk 安装目录的 conf 目录中。所以它们的文件名肯定是不同的。
在这里插入图片描述

2. 修改配置文件内容

以下是第四台 Server 的配置文件
在这里插入图片描述
另外三个配置文件中指定的 dataDir 分别是/usr/data/zookeeper1、/usr/data/zookeeper2、/usr/data/zookeeper3。clientPort 分别是 2181、2182、2183。当然,另外三个配置文件中不要设置 peerType=observer。

3. 创建数据目录

在/usr/data 下创建如下四个目录。
在这里插入图片描述

4. 创建 myid 文件

分别在 zookeeper1、zookeeper2、zookeeper3、zookeeper4 四个目录中创建四个 myid 文件,内容分别为 1、2、3、4。
在这里插入图片描述

5. 集群启动

伪集群的启动需要指定每台 Server 启动所使用的配置文件。进入到 zk 的安装目录。
在这里插入图片描述
查看各个 Server 的状态。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41947378/article/details/106970848