ZooKeeper 环境配置
目录
ZooKeeper 单机安装分为两种方式:压缩包安装和Docker 安装本文都会介绍;另一方面,ZK 集群同样有不同的配置方式,本文主要记录如何通过 Docker 创建 ZooKeeper 集群
🎯本文将以zk-3.5.7
版本为基础,介绍不同方式的安装步骤
¶源码安装单机 ZK
¶资源准备
📖前往官网进行下载
¶安装
🎶由于ZooKeeper
是由 Java 编写的,所以需要基础的 Java 环境
1 | # 在下载 ZooKeeper 文件的目录下解压文件 |
¶配置
1 | # 通信心跳时间, Zookeeper服务器与客户端心跳时间,单位毫秒 |
🎶必须修改dataDir
配置,因为这是持久化数据保存的目录,不能为/tmp
(/tmp
目录会被 Linux 系统定时清理);如果配置的目录不存在,zookeeper 会自动创建
¶简单的操作
1 | # 启动 zookeeper |
¶容器单机安装 ZK
容器的方式非常简单,只要有docker
环境就可以了
1 | # 拉取最新的 zooKeeper 镜像 |
¶创建 ZK 集群
🎶血的教训,一定要先关闭防火墙,否则总是出现稀奇古怪的问题
主机名 | IP 地址 |
---|---|
Master | 192.168.117.128 |
node1 | 192.168.117.129 |
node2 | 192.168.117.130 |
🎶三台服务器能够相互之间通过主机名ping
通,对集群中的每一台主机进行如下操作:
1 | mkdir /data/zookeeper/data |
¶创建机器编号
集群中不同主机,对应的机器编号是不同的,分配的机器编号如下
主机 | zk 服务器编号 |
---|---|
master | 0 |
node1 | 1 |
node2 | 2 |
1 | # 修改每个主机的 zk 服务器编号文件,例如 master 主机的编号修改过程如下 |
其余主机类似的操作,仅仅是服务器编号不同
¶修改配置文件
将集群中每一台主机的配置文件zoo.cfg
修改如下:
1 | tickTime=2000 |
A:标识服务器编号
B:标识服务器地址
C:标识服务器 Follower 与集群中的 Leader 服务器交换信息的端口
D:标识再选举通信端口,如果 Leader 服务器挂了,这个端口就是用来执行选举时服务器相互通信的端口,通过这个端口进行重新选举 leader
¶启动容器
1 | docker run -d --rm --privileged --network host -v /data/zookeeper_data/data:/data -v /data/zookeeper_data/conf:/conf -p 2888:2888 -p 3888:3888 --name zk zookeeper |
¶查看 zk 集群状态
完成以上步骤,现在检查 zk 集群是否真的搭建完成
1 | # 即可进入 zk 容器中 |