rabbit集群

本文详细介绍了如何设置和管理RabbitMQ集群,包括创建独立节点、集群连接、节点重启、断开节点、集群升级及注意事项。强调了集群中节点的相互依赖性和数据安全,提供了节点故障恢复和类型转换的步骤。
摘要由CSDN通过智能技术生成

开始独立节点
集群是通过重新配置现有的RabbitMQ节点到集群配置来设置。因此,第一步是在正常方式启动RabbitMQ的所有节点:

rabbit1$ rabbitmq-server -detached
rabbit2$ rabbitmq-server -detached
rabbit3$ rabbitmq-server -detached

这将创建三个独立的RabbitMQ中间件,一个在每个节点上,用来确认的cluster_status命令:

rabbit1$ rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit1 ...
[{nodes,[{disc,[rabbit@rabbit1]}]},{running_nodes,[rabbit@rabbit1]}]
...done.
rabbit2$ rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit2 ...
[{nodes,[{disc,[rabbit@rabbit2]}]},{running_nodes,[rabbit@rabbit2]}]
...done.
rabbit3$ rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit3 ...
[{nodes,[{disc,[rabbit@rabbit3]}]},{running_nodes,[rabbit@rabbit3]}]
...done.

RabbitMQ中间件的节点名称从rabbitmq-server shell脚本开始,
rabbit@shorthostname ,这个短节点名称是小写(如:rabbit@rabbit1) 。如果你用rabbitmq-server.bat批处理文件,这个短节点名字是大写(rabbit@RABBIT1) 。当你键入节点名称时,重要情况,这些字符串必须匹配。

创建集群
为了在集群中连接起来3个节点,我们告诉2个节点: rabbit@rabbit2 和 rabbit@rabbit3加入集群的第三个, rabbit@rabbit1 。
我们首先连接 rabbit@rabbit2 和 rabbit@rabbit1 在集群里。为了实现这个,我们停止rabbit@rabbit2 的RabbitMQ应用,加入rabbit@rabbit1 集群,然后重启RabbitMQ应用。
注意:加入一个集群节点隐式重置,因此,移除了以前存在于该节点上的所有资源和数据。

rabbit2$ rabbitmqctl stop_app
Stopping node rabbit@rabbit2 ...done.
rabbit2$ rabbitmqctl join_cluster rabbit@rabbit1
Clustering node rabbit@rabbit2 with [rabbit@rabbit1] ...done.
rabbit2$ rabbitmqctl start_app
Starting node rabbit@rabbit2 ...done.

我们在任意一个节点上通过运行cluster_status命令看到2个节点加入到集群了:

rabbit1$ rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit1 ...
[{nodes,[{disc,[rabbit@rabbit1,rabbit@rabbit2]}]},
 {running_nodes,[rabbit@rabbit2,rabbit@rabbit1]}]
...done.
rabbit2$ rabbitmqctl cluster_status
Cluster status of node rabbit@rabbit2 ...
[{nodes,[{disc,[rabbit@rabbit1,rabbit@rabbit2]}]},
 {running_nodes,[rabbit@rabbit1,rabbit@rabbit2]}]
...done.

现在我们加入 rabbit@rabbit3 到同一个集群。步骤与上面的步骤相同,只是这次我们集群rabbit2来证明选择的节点没有集群关系–它足以提供一个在线节点,并且该节点将集群到指定节点所属的集群中。

rabbit3$ rabbitmqctl stop_app
Stopping node rabbit@rabbit3 ...done.
rabbit3$ rabbitmqctl join_cluster rabbit@rabbit2
Clustering node rabbit@rabbit3 with rabbit@rabbit2 ...done.
rabbit3$ rabbitmqctl start_app
Starting node rabbit@rabbit3 ...done.

我们在任意一个节点中通过运行cluster_status命令看到三个节点已经加入到集群了:


                
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值