轻松实现 RabbitMQ 集群搭建

导读:本篇文章讲解 轻松实现 RabbitMQ 集群搭建,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

本文是基于linux系统实现rabbitmq集群搭建。默认已经安装完成,如果未安装,可以到RabbitMQ简单安装查看如何安装。
下文为单机模式集群搭建

检查是否处于运行状态

确保rabbitmq是正常运行的。

 ps aux|grep rabbitmq

或者

systemctl status rabbitmq-server^

在这里插入图片描述

关闭服务

systemctl stop rabbitmq-server

单机多实例搭建

场景:假设有两个节点,分别为rabbit-1和rabbit-2。rabbit-1作为主节点,rabbit-2为从节点。
启动命令:

 sudo RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit-1 rabbitmq-server start &

结束命令

rabbitmqctl -n rabbit-1 stop

启动第一个节点rabbit-1

 sudo RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit-1 rabbitmq-server start &

在这里插入图片描述

启动第二个节点rabbit-2

需要注意的是,由于web端也有一个端口号,所以我们需要给web端重新指定端口号。

sudo RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}] -rabbitmq_stomp tcp_listeners [61614] -rabbitmq_mqtt  tcp_listeners [1884]" RABBITMQ_NODENAME=rabbit-2 rabbitmq-server start &

验证

 ps aux|grep rabbitmq

在这里插入图片描述

rabbit-1作为主节点

# 停止应用
sudo rabbitmqctl -n rabbit-1  stop_app
# 目的是清除节点上的历史数据(如果不清除,无法将节点加入到集群)
sudo rabbitmqctl -n rabbit-1 reset 
# 启动应用
sudo rabbitmqctl -n rabbit-1 start_app

rabbit-2作为从节点

# 停止应用
sudo rabbitmqctl -n rabbit-2  stop_app
# 目的是清除节点上的历史数据(如果不清除,无法将节点加入到集群)
sudo rabbitmqctl -n rabbit-2 reset 
# 将rabbit2节点加入到rabbit1集群中(server-node 服务器的主机名)
sudo rabbitmqctl -n rabbit-2 join_cluster rabbit-1@'server-node'
# 启动应用
sudo rabbitmqctl -n rabbit-2 start_app

选中的就是你服务器的主机名,自行修改。
root@后面的。
在这里插入图片描述

验证集群

sudo rabbitmqctl cluster_status -n rabbit-1

在这里插入图片描述
如果需要第三个几点,只需要重复rabbit-2节点的步骤即可。

web 监控

首先需要给两个节点添加用户及赋权。

rabbitmqctl -n rabbit-1 add_user admin admin
#操作权限
rabbitmqctl -n rabbit-1 set_user_tags admin administrator
#资源权限
rabbitmqctl -n rabbit-1 set_permissions -p / admin ".*" ".*" ".*"

rabbitmqctl -n rabbit-2 add_user admin admin
#操作权限
rabbitmqctl -n rabbit-2 set_user_tags admin administrator
#资源权限
rabbitmqctl -n rabbit-2 set_permissions -p / admin ".*" ".*" ".*"

创建用户之后我们便可以登录web端,如果是云服务器注意在安全组放行端口号。出现集群信息即代表成功,这种集群模式属于元数据共享模式,所以当我们在其中一个节点创建队列时,另一个节点也会自动创建队列。
在这里插入图片描述
如果其中一个节点宕机之后会发生什么呢?
我们可以手动关闭从节点,然后我们可以发现主节点中会显示从节点停止,但是交换机和队列还存在。
在这里插入图片描述
但是这种模式的话,如果我们手动关闭主节点,会发现从节点中的队列都停止了,所以这种集群模式我们在工作中不太常用。
在这里插入图片描述
在这里插入图片描述

多机部署集群

如果使用多个服务器进行集群的搭建,我们需要读取其中一个节点的cookie,并复制到其他节点(节点之间通过cookie确定是否可以通信)
cookie存放在/var/lib/rabbitmq/.erlang.cookie。
例如:主机名分别为rabbit-1、rabbit-2

  • 逐个启动各节点
  • 配置各节点的hots文件(vim /etc/hosts)
    ip1:rabbit-1
    ip2:rabbit-2
    其他步骤参考单机模式。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/16863.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!