Zookeeper集群搭建实战

环境依赖:

①使用centos7.5

②使用如下三台服务器

192.168.43.128,192.168.43.129和192.168.43.130

1、Zookeeper安装

Zookeeper链接:http://zookeeper.apache.org/

$ tar zxvf zookeeper-3.4.12.tar.gz -C /opt 

$ cd /opt && mv zookeeper-3.4.12 zookeeper 

$ cd zookeeper 

$ cp conf/zoo_sample.cfg conf/zoo.cfg

#把zookeeper加入到环境变量

export ZK_HOME=/opt/zookeeper-3.4.12

export PATH=$PATH:$ZK_HOME/bin

2、Zookeeper集群配置

2.1、Zookeeper配置文件修改

#修改配置文件zoo.cfg,如下:

tickTime=2000 
initLimit=10 
syncLimit=5 
dataDir=/opt/zookeeper/data 
clientPort=2181 
server.128= 192.168.43.128:2888:3888 
server.129= 192.168.43.129:2888:3888 
server.130= 192.168.43.130:2888:3888

#创建dataDir指定的目录

$ mkdir -p /opt/zookeeper

#其余zookeeper节点也同样执行。

2.2、配置参数说明

①tickTime:zookeeper服务器之间,或客户端与服务器之间维持心跳的时间间隔

②initLimit:配置zookeeper接受follower 服务器初始化连接时最长能忍受多少个心跳时间间隔数。

当超过N个心跳的时间长度后 zk服务器仍未收到客户端的返回信息,那么表明这个客户端连接失败。

③syncLimit:标识leader与follower之间发送消息,请求和应答时间长度,最长不能超过多少个tickTime的时间长度。

④dataDir:zk保存数据的目录,默认情况下zk将写数据的日志文件也保存在这个目录里;

⑤clientPort:客户端连接Zookeeper服务器的端口;

⑥server.A=B:C:D参数解释

A:数字,表示这个是第几号服务器,最好设置成于机器名具有相关性

B:服务器的IP地址

C:端口,用于集群成员的信息交换,表示这个服务器与leader服务器交换信息的端口

D:在leader挂掉时专门用来进行选举leader所用的端口。

2.3、创建ServerID标识

集群模式下还需要创建一个myid文件,这个文件需要放在zoo.cfg文件中配置的dataDir目录下。文件里面的数据就是A的值(该A就是zoo.cfg文件中server.A=B:C:D中的A)。

#在192.168.43.128服务器上面创建myid文件并设置值为128(必须与zoo.cfg文件里面的server.128保持一致)

$ echo 128 > /opt/zookeeper/myid

#在192.168.43.129服务器上

$ echo 129 > /opt/zookeeper/myid

#在192.168.43.130服务器上

$ echo 130 > /opt/zookeeper/myid

到此,相关配置已完成

3、Zookeeper集群启动

1、启动节点:

$ zkServer.sh start

2、查看节点状态

$ zkServer.sh status

ZooKeeper JMX enabled by default Using config: /opt/develop/zookeeper-3.4.12/bin/../conf/zoo.cfg Mode: follower

#从上面可以看出,该节点的状态是follow模式。

注意:报错排查

$ zkServer.sh status ZooKeeper JMX enabled by default Using config: /opt/zookeeper-3.4.12/bin/../conf/zoo.cfg Error contacting service. It is probably not running.

zk节点启动失败可能原因:zoo.cfg配置文件有误、防火墙禁止了相关端口(2888,3888)。

3、Zookeeper集群连接

Zookeeper集群搭建完毕之后,可以通过客户端脚本连接到zookeeper集群上面。

$ zkCli.sh -server 192.168.43.129:2181

执行成功后会提示

[zk: 192.168.43.129:2181(CONNECTED) 0]

猜你喜欢

转载自blog.csdn.net/vincent_yuan89/article/details/86574884