总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》
一、部署背景
由于业务系统的特殊性,我们需要面向不通的客户安装我们的业务系统,而作为基础组件中的rabbitmq 针对不同的客户环境需要多次部署集群,作为一个运维工程师,提升工作效率也是工作中的重要一环。所以我觉得有必要针对 X86_64 + ARM64 CPU架构rabbitmq 3.13.7容器版集群编写自动化部署工具。
| CPU架构 | docker版本 | docker-compose版本 |
|---|---|---|
| X86_64 | 26.1.3 | v2.29.0 |
| ARM64 | 26.1.3 | v2.29.0 |
二、工具介绍
一键部署工具实现功能如下:
1、多架构支持:兼容 x86_64 与 ARM64 CPU 架构。
2、支持单机单实例部署(1 台主机运行 1 个 RabbitMQ 实例)
3、支持三节点分布式集群部署(3 台主机组成高可用 RabbitMQ 集群)
4、安全通信:全面支持 TLS 加密,所有自动生成的证书有效期为 100 年。
5、持久化能力:配置文件、数据目录及日志目录均支持持久化存储,保障服务可靠性与可恢复性
6、高度可配置:支持数据目录、日志目录、监听端口、Erlang Cookie、虚拟主机(vhost)、用户账号与密码、
Web UI 访问路径前缀 、节点类型(disc / ram)、内存使用阈值、磁盘空间阈值等参数灵活配置。
7、全生命周期管理:提供完整的实例管理功能,包括创建、启动、停止、状态检测及卸载
如下图所示:


说明:工具使用非常简单,只需要修改变量文件,一分钟就可以快速帮你部署rabbitmq集群。
三、工具下载
基于X86_64+ARM64架构CPU使用docker-compose一键离线部署rabbitmq 3.13.7容器版集群工具
主控脚本部分内容展示:

四、部署步骤
说明:这里部署的是多机分布式集群。
1、查看帮助命令

2、部署规划
| 宿主机IP | 操作系统 | 内核版本 | 节点说明 |
|---|---|---|---|
| 192.168.0.61 | Ubuntu 22.04.5 LTS (Jammy Jellyfish) | 5.15.0-124-generic | mq1节点 |
| 192.168.0.62 | Ubuntu 22.04.5 LTS (Jammy Jellyfish) | 5.15.0-124-generic | mq2节点 |
| 192.168.0.63 | Ubuntu 22.04.5 LTS (Jammy Jellyfish) | 5.15.0-124-generic | mq3节点 |
3、准备一键部署工具包
说明:将一键部署工具包上传到rabbitmq集群mq1节点上。
3、编辑变量文件
说明:以下操作分别在consul集群节点的部署工具包中修改cluster.conf文件,四个节点上cluster.conf文件内容一致。
root@localhost:/data/pkgs/rabbitmq-tools# cp cluster.conf.tpl cluster.conf
root@localhost:/data/pkgs/rabbitmq-tools# vim cluster.conf
如下图所示:



4、分发安装包
root@localhost:/data/pkgs# scp -r rabbitmq-tools root@192.168.0.62:/data/pkgs
root@localhost:/data/pkgs# scp -r rabbitmq-tools root@192.168.0.63:/data/pkgs
5、执行部署
说明:根据cluster.conf规划,分别在rabbtimq集群节点上执行部署。
# 1、在mq1节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a build -m mq1
# 2、在mq2节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a build -m mq2
# 3、在mq3节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a build -m mq3
5、检查集群状态

五、其它操作
5.1、启动
说明:分别在对应主机节点上执行。
# 1、在mq1节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a start -m mq1
# 2、在mq2节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a start -m mq2
# 3、在mq3节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a start -m mq3
5.2、停止
说明:分别在对应主机节点上执行。
# 1、在mq1节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a stop -m mq1
# 2、在mq2节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a stop -m mq2
# 3、在mq3节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a stop -m mq3
5.3、检查
说明:分别在对应主机节点上执行。
# 1、在mq1节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a check -m mq1
# 2、在mq2节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a check -m mq2
# 3、在mq3节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a check -m mq3
5.4、卸载
说明:分别在对应主机节点上执行。
# 1、在mq1节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a clear -m mq1
# 2、在mq2节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a clear -m mq2
# 3、在mq3节点
root@localhost:/data/pkgs/rabbitmq-tools# ./op.sh -a clear -m mq3
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》
1516

被折叠的 条评论
为什么被折叠?



