zookeeper
zookeeper
是什么
是一个集中式分布式协调服务
- 使用场景:
- 维护配置信息
- 自定编号的命名管理
- 高可用架构主备切换协调
- 分布式锁
zk安装
单节点
集群模式
- 下载解压
- 修改配置文件
zoo.cfg
# 修改zk保存数据使用的路径
dataDir=/opt/zookeeper-3.4.14/data
# 设置集群的配置信息
#server.A=B:C:D
#A id,zk集群中每个服务,需要设置一个全局唯一的整数id,myid
#B 当前id对应的主机名或者ip
#C 设置集群之间同步数据使用的通信端口 2888
#D 设置集群选举投票使用的通信端口 3888
server.81=bd0801:2888:3888
server.82=bd0802:2888:3888
server.83=bd0803:2888:3888
-
分发安装文件
为每个服务器单独修改myid文件
myid文件创建在dataDir中
文件名为myid,内容是当前机器对应的id -
配置环境变量
echo 'export ZK_HOME=/opt/zookeeper-3.4.14 ' >> /etc/profile
echo 'export PATH=$ZK_HOME/bin:$PATH' >> /etc/profile
source /etc/profile
-
启动
- zk没有提供集群的一键启动
需要在每个zk服务器执行zkServer.sh start
- zk没有提供集群的一键启动
zk核心原理
- 存储原理
- 选举机制
集群半数以上服务启动后,将id最大的选举为leader