Zookeeper组件搭建
搭建zookeeper集群
0.准备工作
- Centos7
- Hadoop完全分布式
- 三个环境
- master
- slave1
- slave2
- zookeeper组件
1.安装组件
先将组件传入至平台中
scp zookeeper-3.4.1.tar.gz root@master:~/
解压组件压缩包
tar -zxvf zookeeper-3.4.1.tar.gz
更改文件夹名称
mv zookeeper-3.4.1 zookeeper
2.修改zookeeper配置文件
进入zookeeper目录并创建zkData文件夹
cd zookeeper
mkdir zkData
在zkData文件夹下创建一个 myid 的文件
vi myid
文件内容写入:myid文件写的是你的主机序号,自行定义,==注意只是数字,不要有多余的空格和空行==
- master的序号为:2
- slave1的序号为:3
- slave2的序号为:4
分发zookeeper过去的时候需要修改为对应的 myid 的序号
2
进入到zookeeper配置文件目录
cd conf
将 zoo_sample.cfg 更名为 zoo.cfg
mv zoo_sample.cfg zoo.cfg
修改 zoo.cfg 文件内容 将dataDir的内容更改为你的zkData路径
dataDir=/root/zookeeper/zkData
再将zoo.cfg中尾部添加以下内容:
server.2=master:2888:3888
server.3=slave1:2888:3888
server.4=slave2:2888:3888
配置参数说明
server.A=B:C:D
A 是数字,就是主机的序号,在 myid 中的主机序号
B 是主机节点IP,如果在 /etc/hosts 中配置了可以直接写对应的主机名
C 是这个服务器 Follower 与集群中的 Leader 服务器交换信息的端口
D 是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的
Leader,而这个端口就是用来执行选举时服务器相互通信的端口。
将zookeeper组件同步到另外的节点主机上
scp zookeeper root@slave1:~/
scp zookeeper root@slave2:~/
3.启动zookeeper集群组件
需要分别在每台主机中启动,如果需要一键启动需要编写脚本
==启动主机前请把每台主机的防火墙关闭!==
systemctl stop firewalld
启动主机的顺序是:master 、slave1 、 slave2
[root@master zookeeper]# bin/zkServer.sh start
[root@slave1 zookeeper]# bin/zkServer.sh start
[root@slave2 zookeeper]# bin/zkServer.sh start
然后查看主机的状态
[root@master zookeeper]# bin/zkServer.sh status
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: follower
[root@slave1 zookeeper]# bin/zkServer.sh status
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: leader
[root@slave2 zookeeper]# bin/zkServer.sh status
JMX enabled by default
Using config: /root/zookeeper/bin/../conf/zoo.cfg
Mode: follower
4.编写群起脚本
vi zk.sh
在 zk.sh 中输入以下内容:
#!/bin/bash
case $1 in
"start"){
for i in master slave1 slave2
do
echo ---------- zookeeper $i 启动 ------------
ssh $i "/root/zookeeper/bin/zkServer.sh
start"
done
};;
"stop"){
for i in hadoop102 hadoop103 hadoop104
do
echo ---------- zookeeper $i 停止 ------------
ssh $i "/root/zookeeper/bin/zkServer.sh
stop"
done
};;
"status"){
for i in hadoop102 hadoop103 hadoop104
do
echo ---------- zookeeper $i 状态 ------------
ssh $i "/root/zookeeper/bin/zkServer.sh
status"
done
};;
esac
本文链接:
/archives/zookeeper
版权声明:
本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自
MianJu!
喜欢就支持一下吧