Zookeeper搭建的前提条件:Hadoop分布式环境已经搭建好
可以参考我之前写的博客hadoop分布式搭建前的准备、hadoop分布式搭建
上传解压
使用Xftp将Zookeeper压缩包上传到root目录下 (可以根据自己需求上传到哪个目录)
Zookeeper下载链接Zookeeper3.4.5版本,提取码:5xvg
tar zxf zookeeper-3.4.5.tar.gz #解压到当前的root目录
mv zookeeper-3.4.5 zookeeper #重命名
修改环境变量
vi /etc/profile
export ZOOKEEPER=/root/zookeeper
export PATH=$PATH:$ZOOKEEPER/bin
source /etc/profile #使环境变量生效
创建目录
cd zookeeper
mkdir data
修改配置文件
cd conf #进入配置文件目录
mv zoo_sample.cfg zoo.cfg #重命名
vi zoo.cfg #修改配置
找到dataDir=/tmp/zookeeper 修改dataDir的地址为之前创建的文件地址(如下)
dataDir=/root/zookeeper/data
然后添加以下节点
server.0=master:2888:3888
server.1=slave1:2888:3888
server.2=slave2:2888:3888
拷贝文件到slave1和slave2主机上
cd #回到家目录
scp -r zookeeper slave1:/root/ #zookeeper文件
scp -r zookeeper slave2:/root/
scp -r /etc/profile slave1:/etc/ #环境变量
scp -r /etc/profile slave2:/etc/
设置启动级
cd zookeeper/data/ #进入data目录
echo "1" > myid #在master主机上
echo "2" > myid #在slave1主机上
echo "3" > myid #在slave2主机上
一定要确保都是在zookeeper/data/目录下操作
启动并验证
zkServer.sh start #启动,三台主机都需启动
zkServer.sh status #查看运行状况
查看Mode
[root@master data]# zkServer.sh status
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[root@slave1 data]# zkServer.sh status
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: leader
[root@slave2 ~]# zkServer.sh status
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: follower
如果运行失败问题可能有两种:
1.防火墙没关闭
2.zoo.cfg配置文件里的service.0和data目录里myid不匹配
有什么其他问题欢迎留言