hadoop生态圈----zookeeper
hadoop生态圈中组件众多,在我们生产与学习中。不同服务之间的协调·过于繁琐,于是zookeeper应运而生,Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。本文将详细介绍zookeeper的特性、优点与部署等方面问题。......
目录
前言:
hadoop生态圈中组件众多,在我们生产与学习中。不同服务之间的协调·过于繁琐,于是zookeeper应运而生,Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目。本文将详细介绍zookeeper的特性、优点与部署等方面问题。
一 zookeeper概述
1.1 zookeeper的工作机制:
1.2 zookeeper的特点
1.3 zookeeper内部的数据结构
1.4 zookeeper满足的应用场景
二 zookeeper的部署
2.1 安装准备
zookeeper官网下载地址:https://zookeeper.apache.org/
2.2 单节点部署
#将文件包解压至opt/moudle目录下
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/
#对解压后的文件重命名,方便后续操作
mv apache-zookeeper-3.5.7 -bin/ zookeeper-3.5.7
修改zookeeper默认配置文件,设置zookeeper数据存储路径。
#在/opt/module/zookeeper-3.5.7/这个目录上创建 zkData 文件夹
cd /opt/moudle/zookeeper-3.5.7
mkdir zkData
#将/opt/module/zookeeper-3.5.7/conf这个路径下的 zoo_sample.cfg 修改为 zoo.cfg;
cd conf/
mv zoo_sample.cfg zoo.cfg
# 修改zoo.cfg文件中的dataDir路径;
dataDir=/opt/module/zookeeper-3.5.7/zkData
配置完成后就可以通过命令启动zookeeper
cd /opt/moudle/zookeeper-3.5.7/
bin/zkServer.sh start
通过jps命令查看是否启动成功
通过命令查看进程状态
bin/zkServer.sh status
这样单节点的zookeeper就已经部署成功了,但是这对于我们大数据平台的使用远远不够,我们下面在此基础上部署zookeeper集群。
2.3 zookeeper集群部署
首先在每台虚拟机节点上进行单节点部署,然后进行以下操作。
cd /opt/moudle/zookeeper-3.5.7/zkData
vi myid
向文件中写入属于这个节点的独一id(每个id号必须是独一无二的。本文使用的是0,1,2)
三台节点各自有属于自己的id号。
设置zookeeper配置文件zoo.cfg,向其中添加以下代码
server.0=hadoop130:2888:3888
server.1=hadoop131:2888:3888
server.2=hadoop132:2888:3888
配置参数意义
server.A=B:C:D
A 是一个数字,表示这个是第几号服务器;(即是上面设置的myid)
三 集群测试
cd /opt/moudle/zookeeper-3.5.7/
bin/zkServer.sh start
通过命令查看对应节点的zookeeper信息
bin/zkServer.sh status
我们可以看出来hadoop130与hadoop132节点状态均为follower,hadoop131节点状态为leader。
这样我们的zookeeper集群就设置完毕了。
四 群起集群启动停止脚本
我们在使用zookeeper集群时,要对每个节点进行启动与查看,需要不断切换节点号。比较麻烦,这里将一个群起集群的脚本分享给大家。
首先在bin目录下创建zk.sh脚本,向其中添加如下代码。(注意:代码中我已经设置了hostname映射才可以使用hadoop130,hadoop131,hadoop132且设置了对应节点间ssh免密登录,不会的同学可以查看hadoop3.x系列完全分布式集群部署(虚拟机网络连接、jdk安装、hadoop安装)_杂乱无章的我的博客-CSDN博客_hadoop3 部署)
case $1 in
"start"){
for i in hadoop130 hadoop131 hadoop132
do
echo ---------- zookeeper $i 启动 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
};;
"stop"){
for i in hadoop130 hadoop131 hadoop132
do
echo ---------- zookeeper $i 停止 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
};;
"status"){
for i in hadoop130 hadoop131 hadoop132
do
echo ---------- zookeeper $i 状态 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
};;
esac
设置完成后,将文件保存后退出。
增加脚本权限
chmod u+x zk.sh
然后测试对应脚本使用。
zk.sh start
对应脚本可传三种参数。
start | 集群启动 |
stop | 集群关闭 |
status | 集群各节点的状态 |
至此本文完毕,如果有什么问题可以评论区留言,也可以直接私信我。希望能帮助到大家。
更多推荐
所有评论(0)