版本信息:zookeeper3.6.0 1.修改配置文件


# 持久化数据目录
dataDir=/var/hadoop/zk
# 服务的节点以及ip 123代表参选leader的优先级,再次提醒:这里阿里云的机器还是要注意本机的ip要用内网ip
# 另需注意相应的端口一定要开放!否则会出现常见错误:java.net.SocketTimeoutException: connect timed out
server.1=namenode2:2888:3888
server.2=datanodel:2888:3888
server.3=datanodeq:2888:3888

2.配置环境变量

# 环境变量的配置就不再重复写了

3.在各自的服务器上指定选举优先级(集群内已经启动过半机器的服务时号最大的就是 leader,后来的就是 follower)

# 在**各自**的目录下指定优先级
echo 1 > /var/hadoop/zk/myid
echo 2 > /var/hadoop/zk/myid
echo 3 > /var/hadoop/zk/myid

4.分发 zookeeper

scp -r zookeeper/ namenode2:/opt
scp -r zookeeper/ datanodel:/opt
scp -r zookeeper/ datanodeq:/opt

5.启动服务

# 启动机器超过半数开始选举,这个命令要自己手动在每台服务器上执行
zkServer.sh start
# 查看zookeeper服务状态
zkServer.sh status
# 启动成功的话会显示当前身份是leader还是follower
# 日志文件在zookeeper文件夹下的logs下,服务没启动可以看看日志是什么原因,我这里每次重启zookeeper都要有五分钟左右的时间,如果zkServer.sh status看到没启动成功的话看看日志,日志没有报错的话等着就行了。