zookeeper-3.5.5 裸机三节点集群部署

前言:

     三台物理机分别部署一个zookeeper实例并关联为一组zookeeper集群

操作流程:

1、安装包下载

wget  https://archive.apache.org/dist/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz 
#注意必须下载-bin.tar.gz的包,不能下载不带-bin的不全

mv apache-zookeeper-3.5.5-bin.tar.gz  /usr/local/ && cd /usr/local
tar -zxvf apache-zookeeper-3.5.5-bin.tar.gz

2、先安装java-1.8环境

[root@ apps]# java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

#yum安装编译安装都可以,自行百度后续出java安装博客再附上链接
#yum -y install java-1.8.0-openjdk*

3、添加配置文件

cd apache-zookeeper-3.5.5-bin/conf && mkdir ../data && mv zoo_sample.cfg zoo.cfg



#您只需要修改如下几处
vim zoo.cfg

#1 修改数据路径
dataDir=/usr/local/apache-zookeeper-3.5.5-bin/data

#2 在最后添加以下三条配置  2888程序监听端口 3888程序选举端口
server.1=${宿主机1的IP}:2888:3888
server.2=${宿主机2的IP}:2888:3888
server.3=${宿主机3的IP}:2888:3888

集群配置参数解读:

zookeeper-3.5.5 裸机三节点集群部署_第1张图片

服务配置参数解读:

tickTime=2000
通信心跳时间,zookeeper服务器与客户端心跳时间,单位毫秒。

initLimit=10
LF初始通信时限,Leader和Follower初始连接时能容忍的最多心跳数(tickTime的数量)。

syncLimit=5
LF同步通信时限,Leader和Follower之间通信时间如果超过syncLimit*tickTime,Leader认为Follower死掉,从服务器列表中删除Follower。

dataDir
保存zookeeper中的数据,默认的tmp目录,容易被Linux系统定期删除,所以一般不用默认目录。

clientPort=2181
客户端连接端口,通常不做修改

4、添加myid文件

#第二台就是2第三台就是3,对应zoo.cfg配置文件里server.2=  server.3=
echo 1 > ../data/myid

5、另外两台机器重复上述步骤全都先配置好了

如果其他配置都一样只需要改一下 myid就可以了

6、三台机器依次启动zookeeper server端

bin/zkServer.sh start

7、三台机器依次验证zookeeper集群节点状态

bin/zkServer.sh status


#这里要说明一下集群状态和选举机制
#1 集群半数机制只有半数以上节点存活才能用,所以单台起来了 状态一直是looking,只有集群中超过半数节运行才会变成follower或者leader,这时该节点才能对外访问

#2 投票会投myid大的机器,但是选完leader后,后面再起来的不会重新选举,除非现在的leader宕机了,所以三台机器从myid为1的实例依次启动到myid为3的实例,最后回事myid为2的机器启动为leader,1和3是follower

你可能感兴趣的:(大数据,zookeeper)