Zookeeper集群搭建-Cluster模式

一、预备环境说明

  1. JDK 1.8.0_261
  2. 下载最新版本压缩包,apache-zookeeper-3.5.8-bin.tar.gz(3.5版本后要用bin包)
  3. 三台主机 A(192.168.1.1)、B(192.168.1.1)、C(192.168.1.1)

二、部署步骤

1、解压

tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz -C /data

2、建立data文件夹和myid文件

data文件夹为数据存储目录,myid文件为服务器编号。

mkdir /data/apache-zookeeper-3.5.8-bin/data
echo '1' > /data/apache-zookeeper-3.5.8-bin/data/myid

注意:另外两台分别echo ‘2’ 和 echo ‘3’;三台中只有myid文件不同,其他配置都相同。

3、修改配置文件

cp zoo_sample.cfg zoo.cfg 并修改配置文件zoo.cfg。

# 数据存储目录
dataDir=/data/apache-zookeeper-3.5.8-bin/data
# 集群配置信息
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
# 修改管理端口,防止默认8080被占用,导致无法启动
admin.serverPort=8888

注:其他两台机器配置文件相同,拷贝过去即可。

#集群配置信息
#server.A=B:C:D
# A:是一个数字,表示这个是服务器编号
# B:是这个服务器的ip地址
# C:zk服务器之间的通信端口
# D:Leader选举的端口

5、启动

三台机器依次启动,启动后可以观察日志。

cd /data/apache-zookeeper-3.5.8-bin/bin/ && ./zkServer.sh start

6、验证

执行 ./skServer.sh status命令即可验证集群状态。

7、调用ZK集群的配置

zookeeper://192.168.1.1:2181?backup=192.168.1.2:2181,192.168.1.3:2181

三、其他

1、zoo.cfg配置文件说明

  1. tickTime: zookeeper中使用的基本时间单位,毫秒值,比如可以设为1000,那么基本时间单位就是1000ms,也就是1s。
  2. initLimit: zookeeper集群中的包含多台server,其中一台为leader,集群中其余的server为follower,initLimit参数配置初始化连接时,follower和leader之间的最长心跳时间。如果该参数设置为5,就说明时间限制为5倍tickTime,即5*1000=5000ms=5s。
  3. syncLimit: 该参数配置leader和follower之间发送消息,请求和应答的最大时间长度。如果该参数设置为2,说明时间限制为2倍tickTime,即2000ms。
  4. dataDir: 数据目录. 可以是任意目录,一般是节点安装目录下data目录。
  5. dataLogDir: log目录, 同样可以是任意目录,一般是节点安装目录下的logs目录。如果没有设置该参数,将使用和dataDir相同的设置。
  6. clientPort: 监听client连接的端口号。
  7. server.X=A:B:C 其中X是一个数字, 表示这是第几号server,它的值和myid文件中的值对应。A是该server所在的IP地址。B是配置该server和集群中的leader交换消息所使用的端口。C配置选举leader时所使用的端口。由于配置的是伪集群模式,所以各个server的B, C参数必须不同,如果是真正分布式集群,那么B和C在各个节点上可以相同,因为即使相同由于节点处于不同的服务器也不会导致端口冲突。

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 lxwno.1@163.com

×

喜欢就点赞,疼爱就打赏