官网下载
http://mirror.bit.edu.cn/apache/zookeeper/
解压文件,放置安装处。
----------------------------------------------------------------------------------------------
复制文件conf/zoo_sample.cfg conf/zoo.cfg
cp zoo_sample.cfg zoo.cfg
----------------------------------------------------------------------------------------------
vim zoo.cfg 编辑
dataDir=/opt/module/zookeeper-3.4.12/Data dataLogDir=/opt/module/zookeeper-3.4.12/logs
server.X1=node21:2888:3888
server.X2=node22:2888:3888
server.X3=node23:2888:3888
配置节点server.X=ip:2888:3888
X1为节点名,例如:
2888端口号是zookeeper服务之间通信的端口。
3888端口是zookeeper与其他应用程序通信的端口。
----------------------------------------------------------------------------------------------
zookeeper文件下创建
sudo mkdir data
vim data/myid
添加节点X1
----------------------------------------------------------------------------------------------
拷贝配置好的zookeeper到其他机器上
scp -r zookeeper-3.4.12/ root@node2:/opt/module/ scp -r zookeeper-3.4.12/ admin@node3:/opt/module/
vim data/myid 修改文件myid 内容为对应节点:X
----------------------------------------------------------------------------------------------
启动,查看,停止
bin/zkServer.sh start bin/zkServer.sh status bin/zkServer.sh stop
----------------------------------------------------------------------------------------------
配置环境变量,并重启环境变量
sudo vi /etc/profile export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.12 export PATH=$PATH:$ZOOKEEPER_HOME/bin source /etc/profile 重启环境变量
----------------------------------------------------------------------------------------------
Server.X=ip:端口1:端口2
X是一个数字,表示这个是第几号服务器;
ip是这个服务器的ip地址;
端口1是这个服务器与集群中的Leader服务器交换信息的端口;
端口2是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。
1)tickTime=2000:通信心跳数
tickTime:通信心跳数,Zookeeper服务器心跳时间,单位毫秒
Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,时间单位为毫秒。
它用于心跳机制,并且设置最小的session超时时间为两倍心跳时间。(session的最小超时时间是2*tickTime)
2)initLimit=10:LF初始通信时限
集群中的follower跟随者服务器(F)与leader领导者服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量),用它来限定集群中的Zookeeper服务器连接到Leader的时限。
投票选举新leader的初始化时间
Follower在启动过程中,会从Leader同步所有最新数据,然后确定自己能够对外服务的起始状态。
Leader允许F在initLimit时间内完成这个工作。
3)syncLimit=5:LF同步通信时限
集群中Leader与Follower之间的最大响应时间单位,假如响应超过syncLimit * tickTime,
Leader认为Follwer死掉,从服务器列表中删除Follwer。
在运行过程中,Leader负责与ZK集群中所有机器进行通信,例如通过一些心跳检测机制,来检测机器的存活状态。
如果L发出心跳包在syncLimit之后,还没有从F那收到响应,那么就认为这个F已经不在线了。
4)dataDir:数据文件目录+数据持久化路径
保存内存数据库快照信息的位置,如果没有其他说明,更新的事务日志也保存到数据库。
5)clientPort=2181:客户端连接端口
监听客户端连接的端口
----------------------------------------------------------------------------------------------
客户端启动命令,可查看节点,创建节点等操作
zkCli.sh
转载:https://www.cnblogs.com/frankdeng/p/9018177.html