Zookeeper集群搭建
2020-07-13 本文已影响0人
鋆坤
一、简介
二、生产集群搭建
准备
- Linux服务器至少三台,且为单数,(以三台为列)
- 服务器均已安装JDK1.8,且配置好环境变量
下载
准备好Zookeeper安装包,官网下载地址
创建目录
cd /opt
mkdir zookeeper #创建安装目录
解压
tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/zookeeper/
修改配置
cd conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
dataDir=/data/zkdata
dataLogDir=/opt/zookeeper/logs
#在文件末尾添加
server.1= 192.168.xx.xx:2888:3888
server.2= 192.168.xx.xx:2888:3888
server.3= 192.168.xx.xx:2888:3888
配置详解
tickTime: zookeeper中使用的基本时间单位,毫秒值,比如可以设为1000,那么基本时间单位就是1000ms,也就是1s。
initLimit: zookeeper集群中的包含多台server,其中一台为leader,集群中其余的server为follower,initLimit参数配置初始化连接时,follower和leader之间的最长心跳时间。如果该参数设置为5,就说明时间限制为5倍tickTime,即5*1000=5000ms=5s。
syncLimit: 该参数配置leader和follower之间发送消息,请求和应答的最大时间长度。如果该参数设置为2,说明时间限制为2倍tickTime,即2000ms。
dataDir: 数据目录. 可以是任意目录,一般是节点安装目录下data目录。
dataLogDir: log目录, 同样可以是任意目录,一般是节点安装目录下的logs目录。如果没有设置该参数,将使用和dataDir相同的设置。
clientPort: 监听client连接的端口号。
server.X=A:B:C 其中X是一个数字, 表示这是第几号server,它的值和myid文件中的值对应。A是该server所在的IP地址。B是配置该server和集群中的leader交换消息所使用的端口。C配置选举leader时所使用的端口。由于配置的是伪集群模式,所以各个server的B, C参数必须不同,如果是真正分布式集群,那么B和C在各个节点上可以相同,因为即使相同由于节点处于不同的服务器也不会导致端口冲突。
创建dataDir对应的目录
mkdir /data/zkdata
//必须向/data/zkdata路径下创建myid文件,同时写入内容1 ,命令如下:
echo 1 > /data/zkdata/myid
拷贝安装目录
scp -r zookeeper-3.4.14/ root@192.168.xx.xx:/opt/zookeeper/
scp -r zkdata/ root@192.168.xx.xx:/data/
scp -r zookeeper-3.4.14/ root@192.168.xx.xx:/opt/zookeeper/
scp -r zkdata/ root@192.168.xx.xx:/data/
#拷贝完成后,修改下 192.168.xx.xx 下 /data/zkdata/myid 的内容为2;192.168.xx.xx 下 /data/zkdata/myid 的内容为3;
启动
cd bin/
./zkServer.sh start
查看状态
./zkServer.sh status
// 跟随者
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower
//领导者
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: leader
至此,Zookeeper集群搭建完毕