当前位置: 首页 > news >正文

openEuler24.03 LTS下安装ZooKeeper集群

目录

前提条件

ZooKeeper集群规划

下载ZooKeeper

解压

配置环境变量

配置ZooKeeper

配置zoo.cfg

配置myid

分发到其他机器

修改其他机器myid

启动集群

关闭集群

集群启停脚本


前提条件

准备3台Linux机器,并安装好Java8

ZooKeeper集群规划

node2node3node4
zookeeperzookeeperzookeeper

安装的ZooKeeper版本为3.7.1,首先在node2安装ZooKeeper,然后分发到node3、node4。

下载ZooKeeper

下载ZooKeeper安装包并上传到node2 /opt/software目录

https://archive.apache.org/dist/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz

解压

解压

[liang@node2 software]$ tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /opt/module

重命名

[liang@node2 software]$ cd /opt/module/
[liang@node2 module]$ ls | grep zookeeper
apache-zookeeper-3.7.1-bin
[liang@node2 module]$ mv apache-zookeeper-3.7.1-bin zookeeper-3.7.1

配置环境变量

[liang@node2 module]$ sudo vim /etc/profile.d/my_env.sh

添加如下内容

#ZOOKEEPER_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.7.1
export PATH=$PATH:$ZOOKEEPER_HOME/bin

让环境变量生效

[liang@node2 module]$ source /etc/profile

配置ZooKeeper

配置zoo.cfg

[liang@node2 module]$ cd $ZOOKEEPER_HOME/conf/
[liang@node2 conf]$ ls
configuration.xsl  log4j.properties  zoo_sample.cfg
[liang@node2 conf]$ cp zoo_sample.cfg zoo.cfg
[liang@node2 conf]$ ls
configuration.xsl  log4j.properties  zoo.cfg  zoo_sample.cfg
[liang@node2 conf]$ vim zoo.cfg

修改内容

dataDir=/opt/module/zookeeper-3.7.1/zkData

同时,文件末尾添加如下配置

server.2=node2:2888:3888
server.3=node3:2888:3888
server.4=node4:2888:3888

配置myid

在dataDir配置目录(zoo.cfg中配置了dataDir)下创建myid,在myid中配置服务器编号

cd $ZOOKEEPER_HOME
mkdir zkData
cd zkData

创建myid

vim myid

内容如下:

2

分发到其他机器

分发ZooKeeper安装目录到node3、node4

xsync /opt/module/zookeeper-3.7.1

分发环境变量

sudo /home/liang/bin/xsync /etc/profile.d/my_env.sh

根据提示输入node2机器root账户的登录密码

分别让node3及node4的环境变量生效

[liang@node3 ~]$ source /etc/profile
[liang@node4 ~]$ source /etc/profile

修改其他机器myid

分别修改node3、node4的myid,myid的内容改为机器对应的服务器编号。

node3机器

[liang@node3 ~]$ vim $ZOOKEEPER_HOME/zkData/myid

内容修改为

3

node4机器

[liang@node4 ~]$ vim $ZOOKEEPER_HOME/zkData/myid

内容修改为

4

启动集群

分别在集群各个机器启动ZooKeeper服务

[liang@node2 conf]$ zkServer.sh start
[liang@node3 conf]$ zkServer.sh start
[liang@node4 conf]$ zkServer.sh start

分别查看集群各个机器ZooKeeper状态

[liang@node2 conf]$ zkServer.sh status
[liang@node3 conf]$ zkServer.sh status
[liang@node4 conf]$ zkServer.sh status

可以看到三台有一台机器为leader状态,另外两台机器为follower状态。

查看进程

[liang@node2 conf]$ jps
[liang@node3 conf]$ jps
[liang@node4 conf]$ jps

关闭集群

分别在集群各个机器关闭ZooKeeper服务

[liang@node2 conf]$ zkServer.sh stop
[liang@node3 conf]$ zkServer.sh stop
[liang@node4 conf]$ zkServer.sh stop

查看进程

[liang@node2 conf]$ jps
[liang@node3 conf]$ jps
[liang@node4 conf]$ jps

集群启停脚本

在node2机器执行

zk.sh

vim ~/bin/zk.sh

内容如下:

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

添加权限

chmod +x ~/bin/zk.sh

测试

zk.sh start
zk.sh status
zk.sh stop

如有需要,可点击查看:配套视频教程

完成!enjoy it!

相关文章:

  • 【个人笔记】用户注册登录思路及实现 springboot+mybatis+redis
  • vercel开源平替,dokploy简简单单了解国内安装指南
  • 将树莓派5当做Ollama服务器,C#调用generate的API的示例
  • openEuler24.03 LTS下安装Kafka集群
  • 什么是ModelDTO
  • 爱因斯坦求和 torch
  • 【图解Agent】A Visual Guide to LLM Agents
  • 数据库基础之DQL
  • RocketMQ
  • 开源项目推荐|throttled-py - 支持多种策略及存储选项的 Python 限流库
  • c++set,map,unordered_set,unordered_map,multiset,multimap
  • 流影---开源网络流量分析平台(四)(分析引擎部署)
  • HTML 区块元素全面解析
  • JavaScript DOM与元素操作
  • DGNN-YOLO:面向遮挡小目标的动态图神经网络检测与追踪方法解析
  • LeeCode 283. 移动零
  • RuBii,基于人工智能的二次元角色创作平台
  • MySQL 的索引
  • 《深入探索 Python 数据分析:用 Pandas 高效处理与可视化大型数据集》
  • 搭建QNX Software Center的Docker环境