1、新建目录并进入
[root@localhost data]# mkdir -p /zookeeper
[root@localhost data]# cd /zookeeper/
2、下载zookeeper并上传到linux
地址为:https://archive.apache.org/dist/zookeeper/
3、解压
[root@localhost zookeeper]# tar -zxvf zookeeper-3.4.14.tar.gz
4、重命名
重命名为zk1:
[root@localhost zookeeper]# mv zookeeper-3.4.14 zk1
5、再次解压并重命名
命令与上述一致,重命名为zk2,zk3
6、进入其中一个目录
[root@localhost zookeeper]# cd ./zk1/conf
7、重命名zoo_sample.cfg ⽂件
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg
8、新建data和log文件夹
此时为三个zookeeper新建三个data和log⽂件夹
[root@localhost zk1]# mkdir -p /zookeeper/zk1/data
[root@localhost zk1]# mkdir -p /zookeeper/zk1/log
[root@localhost zk1]# mkdir -p /zookeeper/zk2/data
[root@localhost zk1]# mkdir -p /zookeeper/zk2/log
[root@localhost zk1]# mkdir -p /zookeeper/zk3/data
[root@localhost zk1]# mkdir -p /zookeeper/zk3/log
9、data文件夹下新建myid文件并编辑
[root@localhost zk1]# vi ./data/myid
在相对应的zk1 ,zk2 ,zk3 中的myid中编辑 1 2 3 如下图 :
10、编辑zoo.cfg配置文件
[root@localhost zk1]# vi ./conf/zoo.cfg
如图为zk1的配置:
此时已经搭建好⼀个zookeeper了, 另外两个同上 只不过配置略有不同
zk2的配置:
zk3:
11、启动zookeeper
[root@localhost zookeeper]# /zookeeper/zk1/bin/zkServer.sh start
[root@localhost zookeeper]# /zookeeper/zk2/bin/zkServer.sh start
[root@localhost zookeeper]# /zookeeper/zk3/bin/zkServer.sh start
12、后查看各个zookeeper节点状态
[root@localhost bin]# /zookeeper/zk1/bin/zkServer.sh status
[root@localhost bin]# /zookeeper/zk2/bin/zkServer.sh status
[root@localhost bin]# /zookeeper/zk3/bin/zkServer.sh status
1、问题一
若出现以下情况,有可能是端口未开放导致:
查看端口是否开放:
[root@localhost zookeeper]# firewall-cmd --query-port=2181/tcp
开放端口:
[root@localhost zookeeper]# firewall-cmd --zone=public --add-port=2181/tcp --permanent
总共需要开通9个端口:
2181端口是zookeeper客户端请求接口。
2287端口号是zookeeper服务之间通信的端口。
3387端口是zookeeper与其他应用程序通信的端口。
需要防火墙放开这三个接口,才可以部署集群的方式。
查看已开放端口:
[root@AIM-TEST zookeeper]# firewall-cmd --reload
[root@localhost zookeeper]# firewall-cmd --zone=public --list-ports
防火墙开放端口,参考博客:https://www.cnblogs.com/heqiuyong/p/10460150.html
2、问题二
此时需要在 zkServer.sh 文件的开头部分,加上jdk环境变量信息
export JAVA_HOME=/usr/local/jdk1.8.0_301
export PATH=$JAVA_HOME/bin:$PATH
这里的文件目录按照自己的实际情况来,不知道的话,可以直接到 /ect/profile 下找到配置的jdk环境变量拷贝过来。
之后再次启动zk1,zk2,zk3然后查看节点状态,成功启动!