总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》
一、部署背景
由于业务系统的特殊性,我们需要面向不通的客户安装我们的业务系统,而作为基础组件中的rabbitmq针对不同的客户环境需要多次部署哨兵集群,作为一个运维工程师,提升工作效率也是工作中的重要一环。所以我觉得有必要针对 ARM64 CPU架构rabbitmq 3.10.25镜像模式集群容器版编写自动化部署工具。
二、工具介绍
一键部署工具实现功能如下:
1、支持单实例部署
2、支持单机伪镜像集群部署
3、支持多机分布式镜像集群部署
4、支持数据目录、日志目录、插件目录、配置文件持久化
5、支持数据目录、日志目录、端口、账号、密码、内存阀值、磁盘阀值等参数灵活配置
6、支持创建、启动、停止、检测、卸载等功能
说明:工具使用非常简单,只需要修改变量文件,一分钟就可以快速帮你部署rabbitmq镜像模式集群集群。
三、工具下载
ARM架构CPU基于docker-compose一离线部署rabbitmq 3.10.25镜像模式集群工具
四、工具使用
说明:单机伪集群是指在单主机部署rabbitmq 3.10.25镜像模式集群,分布式集群是指在多个不同主机上部署rabbitmq 3.10.25镜像模式集群。
1、查看帮助命令
2、准备一键部署工具包
说明:将一键部署工具包分别上传到rabbitmq集群主机节点上。
3、编辑变量文件
说明:以下操作分别在rabbitmq镜像模式集群节点的部署工具包中修改allinone.conf文件,四个节点上allinone.conf文件内容一致。
[root@mq1 rabbitmq]# cp allinone.conf.tpl allinone.conf
[root@mq2 rabbitmq]# cat allinone.conf
# 建议填写为当前磁盘最大存储空间目录,如果系统盘空间最大,建议填写为/data,如果挂在盘空间最大,建议填写为挂载目录
export BASE_DIR="/data"
# 默认用户密码,可根据实际情况填写,注意密码格式为<大小写英文字母+数字>,根据实际情况填写
export RABBITMQ_DEFAULT_USER="lolaage"
export RABBITMQ_DEFAULT_PASS="XnZKE7jGOn6SRXG"
# 数据存储根目录,一般选择一个存储空间比较大且速度快的分区目录,默认不修改
export RABBITMQ_DATA_DIR="${BASE_DIR}/basic-data"
# 内存告警阀值(相对值),建议值为0.4~0.7区间,根据实际情况修改
# 当MQ服务器使用超过内存阀值时,会触发告警,并阻塞所有正在发布消息的连接
export VM_MEMORY_HIGH_WATERMARK_RELATIVE="0.6"
# 数据目录磁盘空间阀值(绝对值),根据实际情况修改
# 当MQ服务器数据目录的磁盘空间超过阀值时,会触发告警,并阻塞所有正在发布消息的连接
export DISK_FREE_LIMIT_ABSOLUTE="5GB"
# 当前宿主机ip地址,根据实际情况填写
export RABBITMQ_HOST="192.168.1.42"
#################################################<mq1节点变量>######################################################
# mq1节点宿主机内网ip地址,默认不修改
export RABBITMQ1_HOST="${RABBITMQ_HOST}"
# mq1节点供客户端建立连接端口,端口不冲突情况下,默认不修改
export RABBITMQ1_PORT="3001"
# mq1节点web页面管理端口,端口不冲突情况下,默认不修改
export RABBITMQ1_MANAGEMENT_PORT="13001"
#################################################<mq2节点变量>######################################################
# mq2节点宿主机内网ip地址,默认不修改
export RABBITMQ2_HOST="${RABBITMQ_HOST}"
# mq2节点供客户端建立连接端口,端口不冲突情况下,默认不修改
export RABBITMQ2_PORT="3002"
# mq2节点web页面管理端口,端口不冲突情况下,默认不修改
export RABBITMQ2_MANAGEMENT_PORT="13002"
#################################################<mq3节点变量>######################################################
# mq3节点宿主机内网ip地址,默认不修改
export RABBITMQ3_HOST="${RABBITMQ_HOST}"
# mq3节点供客户端建立连接端口,端口不冲突情况下,默认不修改
export RABBITMQ3_PORT="3003"
# mq3节点web页面管理端口,端口不冲突情况下,默认不修改
export RABBITMQ3_MANAGEMENT_PORT="13003"
4、执行部署
说明:根据allinone.conf规划,在192.168.1.42节点上执行部署rabbitmq镜像模式单机伪集群。
[root@consul-server1 rabbitmq]# ./op.sh build allinone
5、检查集群状态
总结:整理不易,如果对你有帮助,可否点赞关注一下?
更多详细内容请参考:《Linux运维篇:Linux系统运维指南》