RabbitMQ之集群管理

news/2024/11/30 1:35:51/

1、在node2、node3、node4三台Linux虚拟机中安装RabbitMQ。

2、从node2拷贝.erlang.cookie到node3、node4的相应目录

        如果没有该文件,手动创建/var/lib/rabbitmq/.erlang.cookie ,生成Cookie字符串,或者启动一次RabbitMQ自动生成该文件。生产中推荐使用第三方工具生成。

我们首先在node2上启动单机版RabbitMQ,以生成Cookie文件:

systemctl start rabbitmq-server

        开始准备同步.erlang.cookie 文件。RabbitMQ的集群依赖Erlang的分布式特性,需要保持Erlang Cookie一致才能实现集群节点的认证和通信,我们直接使用scp命令从node1远程传输。

scp /var/lib/rabbitmq/.erlang.cookie root@node3:/var/lib/rabbitmq/
scp /var/lib/rabbitmq/.erlang.cookie root@node4:/var/lib/rabbitmq/

修改node3和node4上该文件的所有者为rabbitmq:rabbitmq:

chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

注意.erlang.cookie文件权限为400:

 

3、使用下述命令启动node3和node4上的RabbitMQ:

systemctl start rabbitmq-server

4、将node3和node4这两个节点加入到集群中

分别执行如下命令:

# 停止Erlang VM上运行的RabbitMQ应用,保持Erlang VM的运行
rabbitmqctl stop_app# 移除当前RabbitMQ虚拟主机中的所有数据:重置
rabbitmqctl reset# 将当前RabbitMQ的主机加入到rabbit@node2这个虚拟主机的集群中。一个节点也是集群。
rabbitmqctl join_cluster rabbit@node2# 启动当前Erlang VM上的RabbitMQ应用
rabbitmqctl start_app
  1. rabbit@node2 表示RabbitMQ节点名称,默认前缀就是rabbit , @ 之后是当前虚拟主机所在的物理主机hostname 。
  2. 注意检查下hostname要可以相互ping通
  3. join_cluster默认是使用disk模式,后面可以加入参数--ram启用内存模式

移出集群节点使用:

# 将虚拟主机(RabbitMQ的节点)rabbit@node3从集群中移除,但是rabbit@node3还保留集群信息
# 还是会尝试加入集群,但是会被拒绝。可以重置rabbit@node3节点。
rabbitmqctl forget_cluster_node rabbit@node3
#修改集群名称(任意节点执行都可以)
rabbitmqctl set_cluster_name#查看集群状态(任意节点执行都可以)
rabbitmqctl cluster_status

在三个RabbitMQ节点上的任意一个添加用户,设置用户权限,设置用户标签,即可 

rabbitmqctl add_user root 123456
rabbitmqctl set_permissions --vhost "/" root ".*" ".*" ".*"
rabbitmqctl set_user_tags --vhost "/" root administrator

        可以到web控制台查看集群信息,如果要看到所有RabbitMQ节点上的运行情况,都需要启用rabbitmq_management 插件。


http://www.ppmy.cn/news/881.html

相关文章

2020年全国职业院校技能大赛改革试点赛样卷二

目录 一、竞赛介绍 1.登录 2.系统配置 3.竞赛环境 二、竞赛时间

网页去色变黑白+网页黑白恢复为彩色

前言 特定节日,你会发现网页和app首页都会变成灰色,以此来表达我们的哀思之情。 好奇宝宝想知道各个网站都是使用哪些小技巧来做出这种效果的(由彩变灰,由灰变彩),于是稍微学习了一下… 由灰变彩 稍微想…

【JavaWeb】第六章 xml

文章目录1、XML简介2、xml语法3、xml解析4、Dom4j类库的使用5、dom4j解析xml1、XML简介 xml是可扩展的标记性语言,xml的主要作用有: 用来保存数据,而且这些数据具有自我描述性 做为项目或者模块的配置文件做为网络传输数据的格式&#xff0…

年底了,准备跳槽的可以看看

前两天跟朋友感慨,今年的铜九铁十、裁员、疫情导致好多人都没拿到offer!现在已经12月了,具体明年的金三银四只剩下两个月。 对于想跳槽的职场人来说,绝对要从现在开始做准备了。这时候,很多高薪技术岗、管理岗的缺口和市场需求也…

postgres源码解析38 表创建执行全流程梳理--4

本文讲解非系统表的创建逻辑&#xff08;[<fontcolor0000dd>普通表和索引表]&#xff09;&#xff0c;其入口函数为heap_create&#xff0c;内部公共接口函数为RelationBuildLocalRelation和RelationCreateStorage相关知识回顾见&#xff1a; postgres源码解析38 表创建执…

Python爬取的网页,需要解码怎么办

前言 本文是该专栏的第26篇,后面会持续分享python的爬虫干货知识,记得关注。 很多时候,在用爬虫采集数据的时候,采集到的源码内容并非我们想要的正确信息,使用正则或者Xpath匹配到的信息也需要我们再次解码才能拿到精准的数据。最近也正是球迷朋友们非常关注卡塔尔世界杯…

Linux服务器如何处理无法删除的文件?

当我们使用Linux服务器的时候&#xff0c;很多人应该都遇到过这种情况&#xff1a;有些文件的属性被修改&#xff0c;从而导致我们无法删除文件&#xff0c;使用root用户也不行&#xff0c;那么Linux服务器无法删除文件如何处理?小编通过这篇文章为大家支支招! 1、使用lsattr命…

tictoc 例子理解 13-15

tictoc13-tictoc13 子类化cMessage生成消息&#xff0c;随机目标地址tictoc 14 在13的基础上增加两变量显示于仿真界面tictoc 15 模型数据输出为直方图tictoc13 子类化cMessage生成消息&#xff0c;随机目标地址 在这一步中&#xff0c;目标地址不再是节点2——我们绘制了一个…