前言:在当今的分布式系统架构中,消息队列已经成为不可或缺的组件之一。它不仅可以或许实现服务之间的解耦,还能有效提拔系统的可扩展性和可靠性。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:
- cd /mpjava
- rpm -ivh jdk-<version>-linux-x64.rpm
复制代码 或利用 yum 安装:
- yum install java-11-openjdk
复制代码 4. 验证 JDK 是否安装成功:
二、RabbitMQ 3.12.2 单机部署
1. 安装依赖:
- sudo yum install -y epel-release
- sudo yum install socat logrotate -y
复制代码 2. 安装 Erlang:
- curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash
- sudo yum install erlang-25.3.2-1.el7.x86_64 -y
复制代码 3. 安装 RabbitMQ:
- curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
- sudo yum install rabbitmq-server-3.12.2-1.el8.noarch -y
复制代码 4. 启动并启用 RabbitMQ 服务:
- sudo systemctl start rabbitmq-server
- sudo systemctl enable rabbitmq-server
复制代码 5. 启用 Web 管理插件:
- sudo rabbitmq-plugins enable rabbitmq_management
复制代码 6. 创建用户并设置权限:
- sudo rabbitmqctl add_user admin your_strong_password
- sudo rabbitmqctl set_user_tags admin administrator
- sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
复制代码 7. 防火墙设置(如需):
- sudo firewall-cmd --permanent --add-port={5672/tcp,15672/tcp,25672/tcp}
- sudo firewall-cmd --reload
复制代码 8. 查看 RabbitMQ 状态:
9. 程序配置:在 ly-mp-other.properties 中配置:
- mp.component.amqType=1
- 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:
2. 在每台 RabbitMQ 节点上按照单机部署步调安装 RabbitMQ。
3. 配置集群:
- 停止 RabbitMQ 服务:
- sudo systemctl stop rabbitmq-server
复制代码 - 修改 /etc/hosts 文件,添加节点映射:
- 172.26.223.76 rabbitmq01
- 172.26.223.77 rabbitmq02
复制代码 - 同步 .erlang.cookie 文件到全部节点:
- sudo scp /var/lib/rabbitmq/.erlang.cookie root@172.26.223.77:/var/lib/rabbitmq
复制代码 - 在每台节点上启动 RabbitMQ:
- sudo systemctl start rabbitmq-server
复制代码 - 在第二个节点上执行以下命令到场集群:
- sudo rabbitmqctl stop_app
- sudo rabbitmqctl join_cluster rabbit@rabbitmq01
- sudo rabbitmqctl start_app
复制代码 - 配置镜像队列:
- sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
复制代码 - 查看集群状态:
- sudo rabbitmqctl cluster_status
复制代码 4. 安装和配置 Nginx:
- 安装 Nginx 并在 /etc/nginx/conf.d 目录下创建 rabbitmq.conf 文件,内容如下:
- stream {
- upstream rabbitTcp {
- server 172.26.223.76:5672;
- server 172.26.223.77:5672;
- }
- server {
- listen 5672;
- proxy_pass rabbitTcp;
- }
- }
复制代码 - 在 /etc/nginx/nginx.conf 的末了增加:
- include /etc/nginx/conf.d/rabbitmq.conf;
复制代码 - 重启 Nginx 服务:
- sudo systemctl restart nginx
复制代码 5. 程序配置:在 ly-mp-other.properties 中配置:
- mp.component.amqType=1
- mp.component.amqUrl=172.26.223.100
复制代码 通过以上步调,您可以快速搭建一个高可用的RabbitMQ集群。希望本文对您有所资助!如果有任何问题,接待在评论区留言。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |