RabbitMQ 3.12.2:单节点与集群部署实战指南

锦通  金牌会员 | 2025-3-19 12:34:47 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 976|帖子 976|积分 2928

前言:在当今的分布式系统架构中,消息队列已经成为不可或缺的组件之一。它不仅可以或许实现服务之间的解耦,还能有效提拔系统的可扩展性和可靠性。RabbitMQ 作为一款功能强大且广泛利用的开源消息中间件,凭借其高可用性、灵活的路由计谋和丰富的插件生态系统,成为了很多开辟者和企业的首选。
随着版本的不绝迭代,RabbitMQ 3.12.2 带来了诸多改进和新特性,进一步提拔了其性能和稳固性。无论是小型项目还是大规模的生产环境,RabbitMQ 都能提供可靠的解决方案。本文将详细介绍怎样在 Linux 系统上部署 RabbitMQ 3.12.2 的单节点和集群版本,资助读者快速搭建开辟环境,并为生产环境的部署提供参考。
无论是初学者还是有肯定经验的开辟者,都可以通过本文掌握 RabbitMQ 的核心部署流程。我们将从根本环境准备开始,渐渐深入到单节点和集群的配置,末了通过实战案例展示怎样优化和监控 RabbitMQ 系统。让我们一起开启 RabbitMQ 的部署之旅,探索其在现代架构中的强大能力。
以下是基于 RabbitMQ 3.12.2 版本的单机部署和集群部署步调,以及 JDK 的详细安装步调:
一、JDK 安装步调

1. 下载适合您系统的 JDK 安装包,可从 Oracle 官方网站获取。

2. 上传 JDK 安装包到服务器指定目录,如 /mpjava。

3. 利用以下命令安装 JDK:

  1. cd /mpjava
  2. rpm -ivh jdk-<version>-linux-x64.rpm
复制代码
或利用 yum 安装:
  1. yum install java-11-openjdk
复制代码
4. 验证 JDK 是否安装成功:

  1. java -version
复制代码
二、RabbitMQ 3.12.2 单机部署

1. 安装依赖:

  1. sudo yum install -y epel-release
  2. sudo yum install socat logrotate -y
复制代码
2. 安装 Erlang:

  1. curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
  2. sudo yum install erlang-25.3.2-1.el7.x86_64 -y
复制代码
3. 安装 RabbitMQ:

  1. curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
  2. sudo yum install rabbitmq-server-3.12.2-1.el8.noarch -y
复制代码
4. 启动并启用 RabbitMQ 服务:

  1. sudo systemctl start rabbitmq-server
  2. sudo systemctl enable rabbitmq-server
复制代码
5. 启用 Web 管理插件:

  1. sudo rabbitmq-plugins enable rabbitmq_management
复制代码
6. 创建用户并设置权限:

  1. sudo rabbitmqctl add_user admin your_strong_password
  2. sudo rabbitmqctl set_user_tags admin administrator
  3. sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
复制代码
7. 防火墙设置(如需):

  1. sudo firewall-cmd --permanent --add-port={5672/tcp,15672/tcp,25672/tcp}
  2. sudo firewall-cmd --reload
复制代码
8. 查看 RabbitMQ 状态:

  1. sudo rabbitmqctl status
复制代码
9. 程序配置:在 ly-mp-other.properties 中配置:

  1. mp.component.amqType=1
  2. mp.component.amqUrl=<RabbitMQ服务器IP>
复制代码
三、RabbitMQ 3.12.2 集群部署

1. 集群规划:3 台呆板,部署两个 RabbitMQ 节点,利用 Nginx 做负载均衡。



  • RabbitMQ 节点:

    • 172.26.223.76(rabbitmq01)
    • 172.26.223.77(rabbitmq02)

  • Nginx:

    • 172.26.223.100

2. 在每台 RabbitMQ 节点上按照单机部署步调安装 RabbitMQ。

3. 配置集群:



  • 停止 RabbitMQ 服务:
    1. sudo systemctl stop rabbitmq-server
    复制代码
  • 修改 /etc/hosts 文件,添加节点映射:
    1. 172.26.223.76 rabbitmq01
    2. 172.26.223.77 rabbitmq02
    复制代码
  • 同步 .erlang.cookie 文件到全部节点:
    1. sudo scp /var/lib/rabbitmq/.erlang.cookie root@172.26.223.77:/var/lib/rabbitmq
    复制代码
  • 在每台节点上启动 RabbitMQ:
    1. sudo systemctl start rabbitmq-server
    复制代码
  • 在第二个节点上执行以下命令到场集群:
    1. sudo rabbitmqctl stop_app
    2. sudo rabbitmqctl join_cluster rabbit@rabbitmq01
    3. sudo rabbitmqctl start_app
    复制代码
  • 配置镜像队列:
    1. sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
    复制代码
  • 查看集群状态:
    1. sudo rabbitmqctl cluster_status
    复制代码
4. 安装和配置 Nginx:



  • 安装 Nginx 并在 /etc/nginx/conf.d 目录下创建 rabbitmq.conf 文件,内容如下:
    1. stream {
    2.     upstream rabbitTcp {
    3.         server 172.26.223.76:5672;
    4.         server 172.26.223.77:5672;
    5.     }
    6.     server {
    7.         listen 5672;
    8.         proxy_pass rabbitTcp;
    9.     }
    10. }
    复制代码
  • 在 /etc/nginx/nginx.conf 的末了增加:
    1. include /etc/nginx/conf.d/rabbitmq.conf;
    复制代码
  • 重启 Nginx 服务:
    1. sudo systemctl restart nginx
    复制代码
5. 程序配置:在 ly-mp-other.properties 中配置:

  1. mp.component.amqType=1
  2. mp.component.amqUrl=172.26.223.100
复制代码
通过以上步调,您可以快速搭建一个高可用的RabbitMQ集群。希望本文对您有所资助!如果有任何问题,接待在评论区留言。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

锦通

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表