RabbitMQ集群(1)

Warning: Permanently added ‘node2’ (ED25519) to the list of known hosts.
root@node2’s password:
hosts

复制到node2中

[root@node1 ~]# scp /etc/hosts root@node3:/etc/hosts
The authenticity of host ‘node3 (11.1.1.53)’ can’t be established.
ED25519 key fingerprint is SHA256:BQD837RdlkpurpiYQYlLVeWNmk1zRFwIjeHo7YnMcfk.
This host key is known by the following other names/addresses:
~/.ssh/known_hosts:1: node2
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added ‘node3’ (ED25519) to the list of known hosts.
root@node3’s password:
hosts


### [4] 配置集群


#### node1 配置



在所有集群节点中存放相同的cookie

[root@node1 ~]# scp /var/lib/rabbitmq/.erlang.cookie root@node2:/var/lib/rabbitmq/.erlang.cookie
root@node2’s password:
.erlang.cookie 100% 20 34.3KB/s 00:00
[root@node1 ~]# scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/.erlang.cookie
root@node3’s password:
.erlang.cookie 100% 20 11.3KB/s 00:00


#### node2 配置



重启服务

[root@node2 ~]# systemctl restart rabbitmq-server

停止应用并重置

[root@node2 ~]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@node2 …
[root@node2 ~]# rabbitmqctl reset
Resetting node rabbit@node2 …

node2加入集群

[root@node2 ~]# rabbitmqctl join_cluster rabbit@node1
Clustering node rabbit@node2 with rabbit@node1

启动应用

[root@node02 ~]# rabbitmqctl start_app
Starting node rabbit@node2 …

查看集群状态

[root@node2 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@node2 …
Basics

Cluster name: rabbit@node2

Disk Nodes

rabbit@node1
rabbit@node2

Running Nodes

rabbit@node1
rabbit@node2

Versions

rabbit@node1: RabbitMQ 3.9.21 on Erlang 24.3.4.2
rabbit@node2: RabbitMQ 3.9.21 on Erlang 24.3.4.2

Maintenance status

Node: rabbit@node1, status: not under maintenance
Node: rabbit@node2, status: not under maintenance

Alarms

(none)

Network Partitions

(none)

Listeners

Node: rabbit@node1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@node1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit@node2, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@node2, interface: 0.0.0.0, port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0

Feature flags

Flag: implicit_default_bindings, state: enabled
Flag: maintenance_mode_status, state: enabled
Flag: quorum_queue, state: enabled
Flag: stream_queue, state: enabled
Flag: user_limits, state: enabled
Flag: virtual_host_metadata, state: enabled


#### node3 配置



重启服务

[root@node3 ~]# systemctl restart rabbitmq-server

停止应用并重置

[root@node3 ~]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@node3 …
[root@node3 ~]# rabbitmqctl reset
Resetting node rabbit@node3 …

node3加入集群

[root@node3 ~]# rabbitmqctl join_cluster rabbit@node2
Clustering node rabbit@node3 with rabbit@node2

启动应用

[root@node3 ~]# rabbitmqctl start_app
Starting node rabbit@node3 …
[root@node3 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@node3 …
Basics

Cluster name: rabbit@node3

Disk Nodes

rabbit@node1
rabbit@node2
rabbit@node3

Running Nodes

rabbit@node1
rabbit@node2
rabbit@node3

Versions

rabbit@node1: RabbitMQ 3.9.21 on Erlang 24.3.4.2
rabbit@node2: RabbitMQ 3.9.21 on Erlang 24.3.4.2
rabbit@node3: RabbitMQ 3.9.21 on Erlang 24.3.4.2

Maintenance status

Node: rabbit@node1, status: not under maintenance
Node: rabbit@node2, status: not under maintenance
Node: rabbit@node3, status: not under maintenance

Alarms

(none)

Network Partitions

(none)

Listeners

Node: rabbit@node1, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@node1, interface: [::], port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit@node2, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@node2, interface: 0.0.0.0, port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0
Node: rabbit@node3, interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
Node: rabbit@node3, interface: 0.0.0.0, port: 5672, protocol: amqp, purpose: AMQP 0-9-1 and AMQP 1.0

Feature flags

Flag: implicit_default_bindings, state: enabled
Flag: maintenance_mode_status, state: enabled
Flag: quorum_queue, state: enabled
Flag: stream_queue, state: enabled
Flag: user_limits, state: enabled
Flag: virtual_host_metadata, state: enabled


![image-20240303233045889](https://img-blog.csdnimg.cn/img_convert/611370b4696a0d3de305ce38af63a4f1.png)


![image-20240303233118464](https://img-blog.csdnimg.cn/img_convert/220cc5af3da4ad2b3353c4164bd19d1f.png)


![image-20240303233141153](https://img-blog.csdnimg.cn/img_convert/341b6aeaa900a9c3ba285a667e7ca8f9.png)


#### 使用rabbitmqadmin



> 
> 避免node1 down机后消息丢失
> 
> 
> 



[root@node1 ~]# curl http://node1:15672/cli/rabbitmqadmin -o /usr/sbin/rabbitmqadmin
[root@node1 ~]# chmod +x /usr/sbin/rabbitmqadmin

配置同步队列

[root@node1 ~]# rabbitmqadmin declare queue name=shared_queue
queue declared

配置同步策略

rabbitmqctl set_policy [policy name(any name you like)] [Queue] [Mode]

img
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

any name you like)] [Queue] [Mode]

[外链图片转存中…(img-bHtWHt2B-4701989565070)]
[外链图片转存中…(img-n6CByjaS-4701989565071)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值