以下以四台机器的集群为列
官网下载zookeeper
https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0.tar.gz

Tips:需要先安装JDK,下载文件需要带-bin的直接编译好的文件,可以执行的文件,如果不带bin,需要重新使用maven打包编译!
解压文件,并创建相关文件夹
解压文件
tar -zxvf apache-zookeeper-3.5.9-bin.tar.gz
创建相关文件夹
mkdir -p /home/software/zookeeper/data
mkdir -p /home/software/zookeeper/conf
mkdir -p /home/software/zookeeper/logs
移动文件
mv apache-zookeeper-3.8.0 /home/software/zookeeper

修改配置文件
修改zoo.cfg
cd /home/software/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
添加如下配置
# zookeeper节点树文件的存放目录,持久化使用的,我们更换一个目录
# 1 代表的是选举id 2888是广播端口 3888是选举端口 2181为客户端连接端口
server.1=172.28.7.53:2888:3888;2181
server.2=120.79.218.19:2888:3888;2181
server.3=47.106.85.178:2888:3888;2181
server.4=39.108.13.179:2888:3888;2181
Tips:本机连接的ip为私有ip,其他连接为公网ip
例如:本机为server.1,公网IP为:120.79.165.112,私有IP为172.28.7.53(ipconfig查询)
修改myid
cd /home/software/zookeeper/conf
#创建myid文件
touch myid
添加如下配置

创建zookeeper服务
cd /etc/init.d
#创建zookeeper文件
touch zookeeper
添加如下配置
#!/bin/bash
#chkconfig:2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/home/software/jdk/jdk1.8
case $1 in
start) su root /home/software/zookeeper/bin/zkServer.sh start;;
stop) su root /home/software/zookeeper/bin/zkServer.sh stop;;
status) su root /home/software/zookeeper/bin/zkServer.sh status;;
restart) su /home/software/zookeeper/bin/zkServer.sh restart;;
*) echo "require start|stop|status|restart" ;;
esac

创建完毕第一台机器,其他三台机器相同,创建完毕后需要开放相关端口
#开放防火墙端口
firewall-cmd --zone=public --add-port=2888/tcp --permanent
firewall-cmd --zone=public --add-port=3888/tcp --permanent
firewall-cmd --zone=public --add-port=2181/tcp --permanent
##查看已经开放的端口
firewall-cmd --list-ports --permanent
#重启防火墙
systemctl restart firewalld.service
创建完毕后可以执行

Tips:启动失败可以查看日志cd /home/software/zookeeper/logs,按照上述步骤基本没有问题
如果有其他问题可以百度
启动完查看启动状态

可以看到当前机器为leader或follower
选主过程可以参考: https://www.douban.com/note/208430424/?_i=8089111dbSxqa-
启动客户端
cd /home/software/zookeeper/bin
#启动客户端 -server连接至哪个服务,不加参数默认连接本机
zkCli.sh -server 120.79.218.19:2181
