一.环境说明
#系统:Centos7
#服务版本:Zookeeper-3.7.1
#主机ip:node1/10.0.0.114 node2/10.0.0.100 node3/10.0.0.200
二.配置java环境
[root@zookeeper-node1 ~]#yum install -y java-1.8.0-openjdk
[root@zookeeper-node2 ~]#yum install -y java-1.8.0-openjdk
[root@zookeeper-node3 ~]#yum install -y java-1.8.0-openjdk
三.部署ZooKeeper
1.安装Zookeeper
关于Zookeeper的安装请戳-->Centos7下安装Zookeeper
(做前4步即可)
一键安装Zookeeper脚本请戳-->脚本分享:一键安装Zookeeper
2.创建数据目录
[root@zookeeper-node1 ~]#mkdir /usr/local/zookeeper/data
[root@zookeeper-node2 ~]#mkdir /usr/local/zookeeper/data
[root@zookeeper-node3 ~]#mkdir /usr/local/zookeeper/data
3.基于模板配置文件生成配置文件
[root@zookeeper-node1 ~]#cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg
4.修改配置文件
[root@zookeeper-node1 ~]# vim /usr/local/zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/loca/zookeeper/data
clientPort=2181
maxClienttCnxns=128
autopurge.purgeInterval=24
server.1=10.0.0.114:2888:3888
server.2=10.0.0.100:2888:3888
server.3=10.0.0.200:2888:3888
5.将修改的配置文件远程复制到另外两个节点上
[root@zookeeper-node1 ~]#scp /usr/local/zookeeper/conf/zoo.cfg 10.0.0.102:/usr/local/zookeeper/conf/
[root@zookeeper-node1 ~]#scp /usr/local/zookeeper/conf/zoo.cfg
10.0.0.103:/usr/local/zookeeper/conf/
6.在各节点生成ID文件
[root@zookeeper-node1 ~]#echo 1 > /usr/local/zookeeper/data/myid
[root@zookeeper-node2 ~]#echo 2 > /usr/local/zookeeper/data/myid
[root@zookeeper-node3 ~]#echo 3 > /usr/local/zookeeper/data/myid
7.启动Zookeeper
[root@zookeeper-node1 ~]#zkServer.sh start
[root@zookeeper-node2 ~]#zkServer.sh start
[root@zookeeper-node3 ~]#zkServer.sh start
#如果无法启动可以查看日志:
tail -f /usr/local/zookeeper/logs/zookeeper-root-server-zookeeper-node1.out
8.查看集群状态
#只有leader监听2888/tcp端口:
[root@zookeeper-node3 loca]# zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: leader
[root@zookeeper-node3 loca]# ss -ntl | grep 2888
LISTEN 0 50 [::ffff:10.0.0.200]:2888 [::]:*
#follower监听2888/tcp端口:
[root@zookeeper-node1 ~]# zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
[root@zookeeper-node1 conf]# ss -ntl | grep 3888
LISTEN 0 50 [::ffff:10.0.0.114]:3888 [::]:*
[root@zookeeper-node2 loca]# zkServer.sh status
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: follower
[root@zookeeper-node2 loca]# ss -ntl | grep 3888
LISTEN 0 50 [::ffff:10.0.0.100]:3888 [::]:*
四.测试访问
[root@zookeeper-node1 conf]# zkCli.sh -server 10.0.0.100:2181
[zk: 10.0.0.100:2181(CONNECTED) 0] version
ZooKeeper CLI version: 3.7.1a2fb57c55f8e59cdd76c34b357ad5181df1258d5, built on 2022-05-07 06:45 UTC