RabbitMQ多机多节点集群部署(上)

简介: RabbitMQ多机多节点集群部署

一、 环境准备

  • 准备三台安装好RabbitMQ 的机器,安装方法见之前介绍
    提示:如果使用虚拟机,可以在一台VM上安装好RabbitMQ后,创建快照,从快照创建链接克隆,会节省很多磁盘空间
  • 10.10.1.41
  • 10.10.1.42
  • 10.10.1.43

二、修改配置文件

  1. 修改10.10.1.41机器上的/etc/hosts文件
sudo vim /etc/hosts

2.添加IP和节点名

10.10.1.41 node1
10.10.1.42 node2
10.10.1.43 node3

3.将10.10.1.41上的hosts文件复制到另外两台机器上

sudo scp /etc/hosts root@node2:/etc/
sudo scp /etc/hosts root@node3:/etc/

说明:命令中的root是目标机器的用户名,命令执行后,可能会提示需要输入密码,输入对应用户的密码就行了

4.将10.10.1.41上的/var/lib/rabbitmq/.erlang.cookie文件复制到另外两台机器上

scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/
  1. 提示:如果是通过克隆的VM,可以省略这一步

三、防火墙添加端口

  • 给每台机器的防火墙添加端口
  1. 添加端口
sudo firewall-cmd --zone=public --add-port=4369/tcp --permanent
sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent
sudo firewall-cmd --zone=public --add-port=25672/tcp --permanent
sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent

2.重启防火墙

sudo firewall-cmd --reload

四、启动RabbitMQ

  1. 启动每台机器的RabbitMQ
sudo systemctl start rabbitmq-server

或者

rabbitmq-server -detached

2.将10.10.1.42加入到集群

# 停止RabbitMQ 应用
rabbitmqctl stop_app
# 重置RabbitMQ 设置
rabbitmqctl reset
# 加入到集群
rabbitmqctl join_cluster rabbit@node1 --ram
# 启动RabbitMQ 应用
rabbitmqctl start_app

3.查看集群状态,看到running_nodes,[rabbit@node1,rabbit@node2]表示节点启动成功

rabbitmqctl cluster_status

提示:在管理界面可以更直观的看到集群信息

4.将10.10.1.43加入到集群

# 停止 RabbitMQ 应用
rabbitmqctl stop_app
# 重置 RabbitMQ 设置
rabbitmqctl reset
# 节点加入到集群
rabbitmqctl join_cluster rabbit@node1 --ram
# 启动 RabbitMQ 应用
rabbitmqctl start_app

5.重复地3步,查看集群状态

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
9月前
|
消息中间件 RocketMQ
这个RocketMQ节点似乎是在正常工作,但是它不能接收或者处理消息
这个RocketMQ节点似乎是在正常工作,但是它不能接收或者处理消息
304 0
|
消息中间件 存储 负载均衡
RabbitMQ使用docker搭建集群并使用Haproxy实现负载均衡(多机镜像模式)
RabbitMQ使用docker搭建集群并使用Haproxy实现负载均衡(多机镜像模式)
503 0
RabbitMQ使用docker搭建集群并使用Haproxy实现负载均衡(多机镜像模式)
|
2月前
|
消息中间件 监控 Shell
RocketMQ-初体验RocketMQ(03)_RocketMQ多机集群部署
RocketMQ-初体验RocketMQ(03)_RocketMQ多机集群部署
64 0
|
11月前
|
消息中间件 运维 网络协议
rabbitmq 高可用集群部署踩坑
rabbitmq 高可用集群部署踩坑
267 0
|
消息中间件 存储 缓存
RabbitMQ 部署及配置详解(集群部署)
RabbitMQ 部署及配置详解(集群部署)
1002 0
|
消息中间件 存储 Apache
Apache RocketMQ 的 Broker 节点
Apache RocketMQ 的 Broker 节点
170 0
|
消息中间件 Java
Java 最常见的面试题:rabbitmq 对集群节点停止顺序有要求吗?
Java 最常见的面试题:rabbitmq 对集群节点停止顺序有要求吗?
|
消息中间件 Java
Java 最常见的面试题:rabbitmq 集群中唯一一个磁盘节点崩溃了会发生什么情况?
Java 最常见的面试题:rabbitmq 集群中唯一一个磁盘节点崩溃了会发生什么情况?
|
消息中间件 Linux Docker
RabbitMQ单机部署和集群部署
RabbitMQ单机部署和集群部署
140 0
|
消息中间件 Java
Java 最常见的面试题: rabbitmq 每个节点是其他节点的完整拷贝吗?为什么?
Java 最常见的面试题: rabbitmq 每个节点是其他节点的完整拷贝吗?为什么?