Zookeeper集群搭建

一、简介

Zookeeper官网

二、生产集群搭建

准备

  • 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/ [email protected]:/opt/zookeeper/
scp -r  zkdata/ [email protected]:/data/
scp -r  zookeeper-3.4.14/ [email protected]:/opt/zookeeper/
scp -r  zkdata/ [email protected]:/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集群搭建完毕

你可能感兴趣的:(Zookeeper集群搭建)