统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等
zookeeper需要jdk环境,所以需要先安装jdk,安装教程
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
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
sh /opt/module/apache-zookeeper-3.5.7-bin/bin/zkServer.sh start
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集群只要半数节点存活就可以正常运行,偶数台相当于浪费了台机器
每个节点都需要进行如下操作
此配置作为节点的标识,这里物理机的名称为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
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
sh /opt/module/apache-zookeeper-3.5.7-bin/bin/zkServer.sh start