rabbitmq集群部署

环境:
IP地址    主机名    操作系统    防火墙和SELinux    用途
192.168.100.143    mq01    CentOS7.4(64位)    关闭    磁盘节点
192.168.100.144    mq02    CentOS7.4(64位)    关闭    内存节点
192.168.100.145    mq03    CentOS7.4(64位)    关闭    内存节点
注意,这里三台服务器都连接上互联网,另外RabbitMQ集群节点必须在同一网段里,如果是跨广域网,效果会变差。

RabbitMQ普通集群配置
1. 配置hosts文件
更改三台MQ节点的计算机名分别为mq01、mq02 和mq03,然后修改hosts配置文件

vim /etc/hostname    //其他两台相同
  mq01.localdomain

vi /etc/hosts
192.168.100.143 mq01  //注意不能带.注意-主机名称也要更改
192.168.100.144 mq02
192.168.100.145 mq03

2.三个节点配置yum源,安装rabbitmq软件
yum install -y epel-release

yum install -y rabbitmq-server

3.拷贝erlang.cookie
Rabbitmq的集群是依附于erlang的集群来工作的,所以必须先构建起erlang的集群景象。Erlang的集群中各节点是经由过程一个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie中,文件是400的权限。所以必须保证各节点cookie一致,不然节点之间就无法通信。

[root@mq01 ~]# cat /var/lib/rabbitmq/.erlang.cookie 
XAHPZVPYUQDWWJIOHUPQ

用scp的方式将mq01节点的.erlang.cookie的值复制到其他两个节点中。

scp /var/lib/rabbitmq/.erlang.cookie root@192.168.100.144:/var/lib/rabbitmq/.erlang.cookie

scp /var/lib/rabbitmq/.erlang.cookie root@192.168.100.145:/var/lib/rabbitmq/.erlang.cookie

4.分别查看三个节点并添加管理服务,最后启动rabbitmq服务
RabbitMQ提供了一个非常友好的图形化监控页面插件(rabbitmq_management),让我们可以一目了然看见Rabbit的状态或集群状态。

/usr/lib/rabbitmq/bin/rabbitmq-plugins list //查看插件安装情况

/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management //启用rabbitmq_management服务

service rabbitmq-server start

5.查看监听端口(插件监控的端口是15672)

RabbitMQ集群搭建_搭建
6.将mq02、mq03作为内存节点加入mq01节点集群中
在mq02、mq03执行如下命令:

rabbitmqctl stop_app    //停掉rabbit应用

rabbitmqctl join_cluster --ram rabbit@mq01 //加入到磁盘节点
 
rabbitmqctl start_app  //启动rabbit应用

RabbitMQ集群搭建_搭建_02

RabbitMQ集群搭建_搭建_03

(1)默认rabbitmq启动后是磁盘节点,在这个cluster命令下,mq02和mq03是内存节点,mq01是磁盘节点。
(2)如果要使mq02、mq03都是磁盘节点,去掉–ram参数即可。
(3)如果想要更改节点类型,可以使用命令rabbitmqctl change_cluster_node_type disc(ram),前提是必须停掉rabbit应用

7.查看集群状态

RabbitMQ集群搭建_集群_04

本文出自:https://blog.51cto.com/u_11134648/2155934

posted @ 2022-05-05 14:42  caibutou  阅读(1027)  评论(0编辑  收藏  举报