一、介绍
zookeeper是一个高可用的分布式协调器,官网
二、功能
统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等
三、单机安装
zookeeper需要jdk环境,所以需要先安装jdk,安装教程
3.1、文件下载
3.2、解压
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
3.3、修改配置文件名称
zk默认读取配置文件名称为zoo.cfg
mv /opt/module/apache-zookeeper-3.5.7-bin/conf/zoo_sample.cfg /opt/module/apache-zookeeper-3.5.7-bin/conf/zoo.cfg
3.4、启动服务端
sh /opt/module/apache-zookeeper-3.5.7-bin/bin/zkServer.sh start
3.5、启动客户端
sh /opt/module/apache-zookeeper-3.5.7-bin/bin/zkCli.sh
四、配置文件说明
配置 | 默认值 | 说明 |
---|---|---|
tickTime | 2000 | 通信心跳时间,Zookeeper服务端和客户端心跳时间(单位:毫秒) |
initLimit | 10 | LF初始通信时限(Leader节点和Follower节点初始连接时能容忍的最多心跳数) |
syncLimit | 5 | LF同步通信时限(Leader节点和Follower节点之间如果超过 syncLimit * tickTime,Leader节点则认为Follower节点已经宕机,将该节点从服务器列表中删除) |
dataDir | /tmp/zookeeper | 保存Zookeeper中的数据 |
clientPort | 2181 | Zookeeper客户端连接端口 |
五、集群安装
zk建议搭建为奇数台,由于zk集群只要半数节点存活就可以正常运行,偶数台相当于浪费了台机器
每个节点都需要进行如下操作
5.1、设置数据存储路径
5.2、设置每个节点的标识myid
此配置作为节点的标识,这里物理机的名称为hadoop102,所以这里设置为2,每个节点需要不同
touch /opt/module/apache-zookeeper-3.5.7-bin/zkData/myid
echo 2 > /opt/module/apache-zookeeper-3.5.7-bin/zkData/myid
5.3、修改集群配置
vim /opt/module/apache-zookeeper-3.5.7-bin/conf/zoo.cfg
# server.myid文件内容=节点ip:服务器Follower和Leader交换信息端口:重新选举端口
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888
5.4、启动集群
sh /opt/module/apache-zookeeper-3.5.7-bin/bin/zkServer.sh start