Zookeeper集群安装
Zookeeper集群安装
去官网https://zookeeper.apache.org/releases.html 下载要安装的Zookeeper
这里以安装zookeeper-3.5.7为例。下载好安装包apache-zookeeper-3.5.7-bin.tar.gz。
分别在三台服务器上安装zookeeper
系统:CentOS7
1.解压安装包到指定安装路径下(你想安装在哪个路径就解压在哪个路径)
这里解压到/opt/module目录下
tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module
解压完成后,在/opt/module路径下,会有个apache-zookeeper-3.5.7-bin的文件夹。
cd /opt/module
ls
可选操作--把文件夹改名
mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7
2.添加相关配置
进入zookeeper的根目录下,新建一个文件夹zkData
cd zookeeper-3.5.7
mkdir zkData
然后进入zkData文件夹下,创建一个myid的文件(PS:无后缀),然后在myid文件里添加与server对应的编号。第一个可以填1,也可以填其他数字,这个编号与待会配置文件中的server的编号一致就好。方便顺序,我这里填1
cd zkData
vim myid
然后回到zookeeper的根目录下,有个conf文件夹,进入conf文件夹,会发现有个zoo_sample.cfg文件,把这个文件改成zoo.cfg,然后编辑zoo.cfg
cd ..
cd conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg
修改dataDir的路径为刚才创建的zkData文件夹的路径.同时新增cluster的配置。如下图
dataDir=/opt/module/zookeeper-3.5.7/zkData
server.1=hadoop101:2888:3888
server.2=hadoop102:2888:3888
server.3=hadoop103:2888:3888
PS:这里的server.1的.1,1就是对应刚才myid里写的1。后面的server.2和server.3是对应待会要装的另外两个zookeeper。hadoop101,hadoop102,hadoop103分别对应三台服务器的域名,如果没设置有域名的话,可以填写ip地址。
修改完后。第一个zookeeper的配置就完成了。
随后可以通过分发脚本,把第一个zookeeper的整个目录分发到另外两台服务器。分发完后,在另外两台服务器上把myid里的值,各自分别改成2和3。与zoo.cfg配置文件设置的server.2和server.3一致
没分发脚本的,按照上面的操作在另外两台服务器再操作一遍。注意myid的值分别弄成2和3,与zoo.cfg配置文件设置的server.2和server.3一致。
3.启动
分别进入在zookeeper文件夹下的bin目录下,执行zookeeper自带的脚本zkServer.sh启动
./zkServer.sh start
启动成功后,可以通过jps命令查看java进程,会看到有QuorumPeerMain这个进程名,说明启动成功
也可以通过zkServer.sh查看状态
./zkServer.sh status
会看到打印信息,其中三个zookeeper的Mode信息,分别会显示leader,follower,follower。 及一个leader,两个follower。
当然,如果写有群起脚本的话,也可以使用群起脚本来启动
脚本参考
#!/bin/bash
if [ $# -lt 1 ]
then
echo "No Args Input..."
exit ;
fi
case $1 in
"start")
for i in hadoop101 hadoop102 hadoop103
do
echo "===================== $i ======================="
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
done
;;
"stop")
for i in hadoop101 hadoop102 hadoop103
do
echo "===================== $i ======================="
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
done
;;
"status")
for i in hadoop101 hadoop102 hadoop103
do
echo "===================== $i ======================="
ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
done
;;
*)
echo "Input Args Error..."
;;
esac
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗