Linux下rabbitmq的集群搭建

Posted L-960

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下rabbitmq的集群搭建相关的知识,希望对你有一定的参考价值。

1 修改 3 台机器的主机名称

在三台服务器分别执行

hostnamectl set-hostname master
hostnamectl set-hostname node01
hostnamectl set-hostname node02

2 配置各个节点的 hosts 文件

vim /etc/hosts

192.168.5.6 master
192.168.5.7 node01
192.168.5.8 node02

3 确保各个节点的 cookie 文件使用的是同一个值

在 master上执行远程操作命令

scp /var/lib/rabbitmq/.erlang.cookie root@node01:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@node02:/var/lib/rabbitmq/.erlang.cookie

4 启动 RabbitMQ 服务

启动 RabbitMQ 服务,顺带启动 Erlang 虚拟机和 RbbitMQ 应用服务(在三台节点上分别执行以
下命令)

rabbitmq-server -detached

5 加入master节点

node01、 node02加入master节点,操作相同

# rabbitmqctl stop 会将Erlang 虚拟机关闭,rabbitmqctl stop_app 只关闭 RabbitMQ 服务
rabbitmqctl stop_app

# 重置rabbit数据
rabbitmqctl reset

# 加入master节点
rabbitmqctl join_cluster rabbit@master

# 只启动应用服务
rabbitmqctl start_app

6 查看集群状态

[root@master ~]# rabbitmqctl cluster_status

Cluster status of node rabbit@master ...
Basics

Cluster name: rabbit@master

Disk Nodes

rabbit@master
rabbit@node01
rabbit@node02

Running Nodes

rabbit@master
rabbit@node01
rabbit@node02

Versions

rabbit@master: RabbitMQ 3.8.8 on Erlang 21.3
rabbit@node01: RabbitMQ 3.8.8 on Erlang 21.3
rabbit@node02: RabbitMQ 3.8.8 on Erlang 21.3

Maintenance status

Node: rabbit@master, status: not under maintenance
Node: rabbit@node01, status: not under maintenance
Node: rabbit@node02, status: not under maintenance

7 为master节点设置管理员用户

因为node01和node02已经加入集群了,所以只设置master用户就会自动同步到子节点

rabbitmqctl add_user admin admin123 &&
rabbitmqctl set_user_tags admin administrator &&
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

8 效果图

9 node节点退出集群

在需要解除集群节点执行:

rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl start_app

rabbitmqctl cluster_status

10 master主动剔除node节点

rabbitmqctl forget_cluster_node rabbit@node01

以上是关于Linux下rabbitmq的集群搭建的主要内容,如果未能解决你的问题,请参考以下文章

Linux搭建Rabbitmq集群

Linux搭建Rabbitmq集群

rabbitmq集群搭建方法简介(测试机linux centos)

RabbitMQ:Docker环境下搭建rabbitmq集群

windows下rabbitmq集群搭建

Windows 下搭建RabbitMQ集群