zookeeper集群搭建
ZooKeeper 的架构通过冗余服务实现高可用性
下载
可以去Zookeeper下载文件 本次演示以3.6.3版本演示
下载安装包后上传到服务器内
然后解压tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt/module
到module 然后进入zookeeper的目录修改zookeeper配置信息
集群搭建
配置服务器编号
(1)在/zookeeper-3.5.7/目录下创建zkData
mkdir ZkData
(2)在/zookeeper-3.5.7/zkData 目录下创建一个myid 的文件
vi myid
# 在文件中添加与server 对应的编号(注意:上下不要有空行,左右不要有空格)
# 注意:添加myid 文件,一定要在Linux 里面创建,在notepad++里面很可能乱码
# 添加 如下信息 作为zookeeper服务号
2
配置zoo.cfg文件
(1)重命名/opt/module/zookeeper-3.5.7/conf 这个目录下的zoo_sample.cfg 为zoo.cfg
mv zoo_sample.cfg zoo.cfg
(2)打开zoo.cfg 文件
vim zoo.cfg
修改数据存储路径配置
dataDir=/opt/module/zookeeper-3.5.7/zkData
在该配置文件最后加入
#增加如下配置 2 3 4 分别为 集群节点中 各个节点myid内的数字
#######################cluster##########################
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888
#######################注意 不要再3888后加入空格 否则会启动失败##########################
(3)配置参数解读
server.A=B:C:D。
A 是一个数字,表示这个是第几号服务器;
集群模式下配置一个文件myid,这个文件在dataDir 目录下,这个文件里面有一个数据就是 A 的值,
Zookeeper 启动时读取此文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是哪个server。
B 是这个服务器的地址;
C 是这个服务器Follower 与集群中的Leader 服务器交换信息的端口;
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
(4)同步zoo.cfg 配置文件
将myid zkData zoo,cfg 同步到各个集群节点
myid 不同集群节点要修改值
启动,关闭,查看状态
各个服务器执行如下名
#启动
bin/zkServer.sh start
#关闭
bin/zkServer.sh stop
#查看状态
bin/zkServer.sh status