ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,前面安装hbase时,hbase自带了一个zookeeper,现在通过docker在单机部署了hadoop集群,也可以测试一下独立zookeeper集群的安装部署了

环境:宿主机centos7,docker容器 hadoop1,hadoop2,hadoop3,都安装了java,已构建了hadoop集群
1.下载:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
2.启动容器Hadoop1,hadoop2,hadoop3
3.复制zookeeper-3.4.13.tar.gz 到Hadoop1
docker cp /home/linbin/下载/zookeeper-3.4.13.tar.gz hadoop1:/opt
4.解压,配置
[root@centos7 ~]# docker attach hadoop1
root@hadoop1:/# cd /opt
root@hadoop1:/opt# tar -zxvf zookeeper-3.4.13.tar.gz
root@hadoop1:/opt# rm zookeeper-3.4.13.tar.gz
root@hadoop1:/opt# cd zookeeper-3.4.13/conf
root@hadoop1:/opt/zookeeper-3.4.13/conf# cp zoo_sample.cfg zoo.cfg
root@hadoop1:/opt/zookeeper-3.4.13/conf# nano zoo.cfg
修改:dataDir=/root/zookeeper
增加:
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
server.3=hadoop3:2888:3888
5.建立目录和myid文件
root@hadoop1:/opt# cd ~
root@hadoop1:~# mkdir zookeeper
root@hadoop1:~# echo 1 >> /root/zookeeper/myid
6. hadoop2,hadoop3部署
参考上面步骤 3~5 ,只是myid要不同,与上面zoo.cfg里的server.1,server.2,server.3相对应。
root@hadoop2:~# echo 2 >> /root/zookeeper/myid
root@hadoop3:~# echo 3 >> /root/zookeeper/myid
7.启动
分别启动三台机
root@hadoop1:/opt/zookeeper-3.4.13/bin# ./zkServer.sh start
root@hadoop2:/opt/zookeeper-3.4.13/bin# ./zkServer.sh start
root@hadoop3:/opt/zookeeper-3.4.13/bin# ./zkServer.sh start
root@hadoop1:/opt/zookeeper-3.4.13/bin# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: follower
root@hadoop2:/opt/zookeeper-3.4.13/bin# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader
分别查看zookeeper服务器状态,可以看到自动选举了 hadoop2是leader模式,hadoop1和hadoop2是follower
8.测试重新选举leader
关闭leader
root@hadoop2:/opt/zookeeper-3.4.13/bin# ./zkServer.sh stop
等一会再查看Hadoop1,hadoop3的status
发现hadoop3变成了leader
root@hadoop3:/opt/zookeeper-3.4.13/bin# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.4.13/bin/../conf/zoo.cfg
Mode: leader
9.客户端测试
可以在三台zk服务器的任意一台启动客户端程序,连接到三台zk服务器的任意一台
root@hadoop2:/opt/zookeeper-3.4.13/bin# ./zkCli.sh server hadoop3
[zk: hadoop3(CONNECTED) 1] ls /
[zookeeper]
https://www.w3cschool.cn/zookeeper/ Zookeeper教程
https://blog.youkuaiyun.com/feixiang2039/article/details/79810102 zookeeper 客户端 zkCli 命令详解
2698



被折叠的 条评论
为什么被折叠?



