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]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
any name you like)] [Queue] [Mode]
[外链图片转存中…(img-bHtWHt2B-4701989565070)]
[外链图片转存中…(img-n6CByjaS-4701989565071)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!