Zookeeper - 集群搭建 + 群起集群脚本

本文档详细介绍了Zookeeper集群的配置与启动过程,包括配置参数、启动集群、修复配置错误以及创建Shell脚本实现一键启动、关闭集群。通过在三台服务器上设置myid和zoo.cfg文件,实现了Zookeeper的集群部署,并解决了启动问题。
摘要由CSDN通过智能技术生成

目录

一、配置参数

二、启动集群

三、丢脸的至暗时刻

咱们来把一直是错的目录名字改一下。。。

四、Shell脚本一键启动、关闭集群


上一篇已经结束了单台Zookeeper的本地安装(Zookeeper - 本地安装与参数配置)和Hadoop集群的搭建,强烈建议去看一眼里面的xsync,在此篇会大量应用(Hadoop 3.x - 本地安装 & 完全分布式安装 & 集群配置 & xsync分发脚本(解决root用户启动Hadoop集群的报错问题)),这篇咱们来看看Zookeeper的集群安装。这回咱们上了三台服务器来搭建zk的集群:


一、配置参数

建议先去看上一篇的本地安装,这样方便与本篇文章一起操作:Zookeeper - 本地安装与参数配置

咱们在之前的本地安装中创建了一个 zkData 目录,咱们进入这个目录进行集群的配置:

创建一个叫 myid 的文件,这个名字是固定的,不要进行更改:

touch myid
echo '2' > myid

没错这里只要写一个 2 在里面就可以了。这里可以看眼下面的图,咱们这台服务器叫做 102 所以咱们给这里的文件配置了一个 2 ,以此类推,后面的 103 104 就分别为 3 4 。这个 myid 是唯一的身份标识,所以不能重复使用。

创建完成后使用 xsync 进行同步分发,没有这个脚本的可以去看下Hadoop 3.x - 本地安装 & 完全分布式安装 & 集群配置 & xsync分发脚本(解决root用户启动Hadoop集群的报错问题)

此篇中有提到过该脚本:

xsync /opt/module/zookpeer-3.5.7/

然后咱们需要立刻去 103 104 机器中修改myid:

然后回到咱们的 102 机器上继续进行配置:

cd /opt/module/zookpeer-3.5.7/conf
vim zoo.cfg 

把以下内容复制粘贴到文件的末尾:

server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
server.4=hadoop104:2888:3888

这个玩意儿是啥意思呢,咱们来看看

server.2=hadoop102:2888:3888:拿这个来举例,就按颜色来划分:

server.2=hadoop102:2888:3888:表示这是第几号服务器

server.2=hadoop102:2888:3888:服务器地址

server.2=hadoop102:2888:3888:服务器 Follower 与集群中的 Leader 服务器交换信息的端口

server.2=hadoop102:2888:3888万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口

保存退出后分发一下:

xsync zoo.cfg


二、启动集群

在 102 机器中启动zk集群:

cd /opt/module/zookpeer-3.5.7/bin
./zkServer.sh start

 查看一下状态:

./zkServer.sh status

很明显集群并没有起来,原因是咱们只启动了一台 102 ,启动的台式少于一半,所以集群启动失败,咱们去 103 和 104 上面都启动一下:

cd /opt/module/zookpeer-3.5.7/bin
./zkServer.sh start

然后咱们看看他们的状态:

./zkServer.sh status

102:follower

103:leader

104:follower

启动成功 


三、丢脸的至暗时刻

咱们来把一直是错的目录名字改一下。。。

102:

vim /opt/module/zookeeper-3.5.7/conf/zoo.cfg 

改一下路径位置:  

mv /opt/zookpeer /opt/zookeeper
xsync /opt/zookeeper

103 & 104:

rm -rf /opt/zookpeer

最后的最后记得修改一下 myid  103 

echo '3' > /opt/module/zookeeper-3.5.7/zkData/myid 

104

echo '4' > /opt/module/zookeeper-3.5.7/zkData/myid 

四、Shell脚本一键启动、关闭集群

#!/bin/bash
case $1 in
"start"){
for i in hadoop102 hadoop103 hadoop104
do
 echo ---------- zookeeper $i 启动 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
};;
"stop"){
for i in hadoop102 hadoop103 hadoop104
do
 echo ---------- zookeeper $i 停止 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
};;
"status"){
for i in hadoop102 hadoop103 hadoop104
do
 echo ---------- zookeeper $i 状态 ------------
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
};;
esac

用一下看看(我这里是加了环境变量,平常按照正常脚本运行即可):

zk.sh start

zk.sh status

zk.sh stop

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会调制解调的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值