赞
踩
1、接收客户段请求的端口号是:2181
2、集群之间数据同步端口号:3888
3、集群选举端口号::2888 (只有leader会监听)
Leader(领导者):主要是保证集群事务处理的顺序性,事务请求的唯一调度和处理者。集群内部各服务器的调度者。
Follower(跟随着):处理客户端非事务请求,转发事务请求给leader服务器;参与事务请求proposal的投票;参与leader的投票。
- ┌────────────┐ ┌────────────┐ ┌────────────┐
- │ Server │ │ Server │ │ Server │
- │ 1 │ │ 2 │ │ 3 │
- │ Leader │ │ Follower │ │ Follower │
- └────────────┘ └────────────┘ └────────────┘
- │ │ │
- │ ┌───────────────┐ │ │
- └───►│ Zookeeper Quorum │◄───────────────────┘
- └───────────────┘
-
准备工作
为了集群的高可用,集群的数量一般是奇数。
这里使用三台centos7.9/4u8g
- 三台centos的IP分别是:
- Zk01:192.168.0.1
- Zk02:192.168.0.2
- Zk03:192.168.0.3
1、分别上传jdk8.0.tar.gz,和zookeeper.*.tar.gz到zk01,zk02.zk03中
- tar -xvf jdk-8u211-linux-x64.tar.gz -C /usr/local/ #分别解压jdk和zookeeper压缩包
- tar -xvf zookeeper.3.4.9.tar.gz -C /usr/local/
- mv jdk-8.0 /usr/local/java #分别修改name
- mv zookeeper.3.4.9 /usr/local/zookeeper
2、修改zookeeper配置文件,集群中的配置文件一致,
- cd /usr/local/zookeeper/conf
- cp zoo_sample.cfg zoo.cfg #基于模板创建一个新的配置文件,防止修改错
- vim zoo.cfg
- tickTime=2000 #服务器和服务器之间的单次心跳检测时间间隔,单位为ms
- initLimit=10 #集群中的 leader 服务器与 follower 服务器初始连接心跳次数,即多少个 2000 毫秒
- syncLimit=5 # leader 与 follower 之间连接完成之后,后期检测发送和应答的心跳次数,如果该 follower 在设置的时间内(5*2000)不能与 leader 进行通信,那么此 follower 将被视为不可用。
- dataDir=/usr/local/zookeeper/data #自定义的 zookeeper 保存数据的目录
- clientPort=2181 #客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个 端口,接受客户端的访问请求
- maxClientCnxns=128 #单个客户端 IP 可以和 zookeeper 保持的连接数
- autopurge.snapRetainCount=3 #3.4.0 中的新增功能:启用后,ZooKeeper 自动清 除功能会将 autopurge.snapRetainCount 最新快照和相应的事务日志分别保留在 dataDir 和 dataLogDir 中,并删除其余部分,默认值为 3。最小值为 3。
- autopurge.purgeInterval=1 # 3.4.0 及之后版本,ZK 提供了自动清理日志和快照 文件的功能,这个参数指定了清理频率,单位是小时,需要配置一个 1 或更大的 整数,默认是 0,表示不开启自动清理功能
- server.1=192.168.0.1:2888:3888 # server.服务器编号=服务器 IP:LF 数据同步端 口:LF 选举端口
- server.2=192.168.0.2:2888:3888
- server.3=192.168.0.3:2888:3888
3、将/conf/zoo.cfg文件分别传到zk02和zk03中
- scp ./zoo.cfg root@192.168.0.2:/usr/local/zookeeper/conf/
- scp ./zoo.cfg root@192.168.0.3:/usr/local/zookeeper/conf/
4、按照实际情况将集群zk01,zk02,zk03的id要拷贝到配置文件所指定的data目录下
- echo “1” > /usr/local/zookeeper/data/myid
- echo “2” > /usr/local/zookeeper/data/myid
- echo “3” > /usr/local/zookeeper/data/myid
3、启动集群
在zk01,zk02,zk03分别执行以下命令
/usr/local/zookeeper/bin/zkServer.sh start
4、查看集群状态
/usr/local/zookeeper/zkServer.sh status
至此,我们的zookeeper部署完成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。