问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

RabbitMQ集群部署

发布网友 发布时间:2024-09-29 20:40

我来回答

1个回答

热心网友 时间:2024-11-10 23:45

RabbitMQ集群镜像模式部署RabbitMQ集群模式有2种

普通集群模式(无高可用性): 默认模式,以两个节点(rabbit01、rabbit02)为例来进行说明。对于Queue来说,消息实体只存在于其中一个节点rabbit01(或者rabbit02),rabbit01和rabbit02两个节点仅有相同的元数据,即队列的结构。当消息进入rabbit01节点的Queue后,consumer从rabbit02节点消费时,RabbitMQ会临时在rabbit01、rabbit02间进行消息传输,把A中的消息实体取出并经过B发送给consumer。

镜像集群模式(高可用性): 最常用的集群模式,把需要的队列做成镜像队列,存在于多个节点,属于RabbitMQ的HA方案。该模式解决了普通模式中的问题,其实质和普通模式不同之处在于,消息实体会主动在镜像节点间同步,而不是在客户端取数据时临时拉取。

RabbitMQ集群镜像模式部署过程

部署包含三个节点node1,node2和node3的集群。

以 node1 节点为基准,将 node2,node3 节点 加入 node1 节点的集群中。这3个节点是平等的

一. 安装Rabbitmq软件(node1,node2,node3)1.下载Erlang源码并安装wget?https://github.com/erlang/otp/releases/download/OTP-24.0/otp_src_24.0.tar.gztar?zxvf?otp_src_24.0.tar.gzcd?otp_src_24.0./configure?--prefix=/usr/local/erlang?--with-ssl?--enable-threads?--enable-smp-support?--enable-kernel-poll?--enable-hipe?--without-javamakemake?install

可能提示错误:configure: error: No curses library functions found 原因:缺少ncurses依赖库 安装ncurses:

wget?http://ftp.gnu.org/gnu/ncurses/ncurses-6.1.tar.gztar?-zxvf?ncurses-6.1.tar.gzcd?ncurses-6.1./configure?--with-shared?--without-debug?--without-ada?--enable-overwrite??makemake?install2.下载Rabbitmq源码并安装wget?https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.8.19/rabbitmq-server-generic-unix-3.8.19.tar.xztar?-xvf?rabbitmq-server-generic-unix-3.8.19.tar.xzmv?rabbitmq_server-3.8.19?/usr/local/3.添加环境变量配置cat?>>?/etc/profile?<<?-'EOF'export?PATH=$PATH:/usr/local/erlang/bin:/usr/local/rabbitmq_server-3.8.19/sbin-EOFsource?/etc/profile4.验证各节点rabbitmq#?启动rabbitmq,-detached代表后台守护进程方式启动。rabbitmq-server?-detached#?查看状态,确定rabbitmq已经成功运行rabbitmqctl?status#?先暂停各节点rabbitmqctl?stop二. 部署Rabbitmq集群1.统一认证Erlang Cookie

设置不同节点间同一认证的Erlang Cookie,采用从某个节点copy的方式保持Cookie的一致性。

启动rabbitmq之后会在~/.erlang.cookie或/var/lib/rabbitmq/下生成一个.erlang.cookie隐藏文件,即使你把这个文件给删除了运行rabbitmq-server也会再次生成新的.erlang.cookie。

将node1的.erlang.cookie文件覆盖node2,node3节点上的.erlang.cookie文件(先暂停各节点的rabbitmq服务)。

#?复制?node1节点的.erlang.cookie文件到node2,node3node1:?scp?~/.erlang.cookie?{node2_host_or_ip}:~/.erlang.cookienode1:?scp?~/.erlang.cookie?{node3_host_or_ip}:~/.erlang.cookie#?重新启动node1:?rabbitmq-server?-detachednode2:?rabbitmq-server?-detachednode3:?rabbitmq-server?-detached2.创建并部署集群(在node2,node3上执行):#?node2node2:rabbitmqctl?stop_appnode2:rabbitmqctl?reset#?将node2加入node1节点所在集群node2:rabbitmqctl?join_cluster?rabbit@{node1_host_or_ip}node2:rabbitmqctl?start_appnode2:rabbitmqctl?cluster_status#?node3node3:rabbitmqctl?stop_appnode3:rabbitmqctl?reset#?将node3加入node1节点所在集群node3:rabbitmqctl?join_cluster?rabbit@{node1_host_or_ip}node3:rabbitmqctl?start_appnode3:rabbitmqctl?cluster_status

在node1上执行:rabbitmqctl cluster_status 查看节点是否成功加入集群

新建 virtualhost,并创建administrator权限的用户名和密码#?创建名为?demo?的?VirtualHostrabbitmqctl?add_vhost?demo#?添加用户,密码rabbitmqctl?add_user?your_username?your_password#?设置your_username为administrator权限rabbitmqctl?set_user_tags?your_username?administrator#?使用户your_username具有demo这个virtual?host中所有资源的配置、写、读权限以便管理其中的资源rabbitmqctl?set_permissions?-p?demo?your_username?'.*'?'.*'?'.*'将 队列 镜像到所有的rabbitmq集群中rabbitmqctl?set_policy?-p?demo?ha-all?"^"?'{"ha-mode":"all","ha-sync-mode":"automatic"}'其他

常用操作命令:

#?查看状态rabbitmqctl?status??#?关闭服务:rabbitmqctl?stop#?关闭应用(关闭当前启动的节点)rabbitmqctl?stop_app#?启动应用,和stop_app关闭命令配合使用,达到清空队列的目的rabbitmqctl?start_app#?创建VirtualHostrabbitmqctl?add_vhost?demo#?启动web管理插件rabbitmq-plugins?enable?rabbitmq_management#?列出角色:rabbitmqctl?list_users#?添加用户,密码rabbitmqctl?add_user?patrick?pwd123#?设置patrick为administrator权限rabbitmqctl?set_user_tags?patrick?administrator#?使用以下命令集群状态,目前相互独立,没有形成集群rabbitmqctl?cluster_status#?rabbitmq设置内存限制系数,?内存限制大小=机器内存?*?系数,eg:?1G?=?4G?*?0.25rabbitmqctl?set_vm_memory_high_watermark?0.4#?剔除集群某个节点NodeXNodeX:?rabbitmqctl?stop_appNodeX:?rabbitmqctl?resetNodeX:?rabbitmqctl?start_app

原文:https://juejin.cn/post/7095548498870796319

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 苦巧克力可以做什么甜品? 《玛娜希斯回响》最新食谱配方大全2022 如何在家制作低糖盒子蛋糕? 我的飞利浦剃须刀刀网坏了北海哪里可以买到 老婆出轨多次,为什么老公还选择原谅她? 梦到老公掉进一个深坑里 U:i5 2500k 主板:华硕P8z68VLX 显卡:映众570冰龙 内存:金士顿骇客神... 华硕p8z68-VLX配i52380p,再配个什么显卡划算,性价比高的,多给几个建 ... 主板是华硕P8Z68-VLXCPU是酷睿I72600K,是否兼容 为什么捷达空调打压不漏。抽空抽不完 我家仓鼠冬天生子了,但是第一次养,实在不知道怎么办啊?除了把公母分开... 佳能bjc-265sp绿灯一直在闪,不能打印,怎么办? 佳能BJC-265SP打印机,用的是原装墨盒,要用原装的墨水吗,或是可以直接买... 佳能bjc-265sp绿灯一直在闪,不能打印 佳能bjc-265sp打印的时候出乱码,灯一直在闪,是绿色的灯 河南省神州行畅听卡A的业务收费问题 怎么在网上取消神州行的来电畅听 怎么取消神州行畅听无忧计划? 业余篮球和职业篮球差距有多大 dhl燃油费附加费怎么收?怎么计算? 集群(cluster)和高可用性(HA)的概念 剑三日常任务做哪些? 本人剑三小白 现在装分1w1 想走PvP路线 求方法 不找代练 额 门派长歌... 11点40至十一点零五一共用了多少分钟 我六点零五分到杭州火车站,买的火车票是六点四十四分的来的及做火车吗... 手机上有我的世界像电脑版的吗? 我的世界有手机版吗 宁夏银川十大旅游景点 银川旅游景点排名前十名_离银川最近的外省旅游景点 ...的在挑里面东西’的恐怖片GIF。求图和片名。 追分。 谁能交我做这样动态图片 怎么做的麻烦了 会了 追分 谢谢 photoshop如何保存gif..追分的.. 求一张相片 就一个《刹》字 好看的再追分 计算机二级python自学要多久? ...动过手术啦20天啦,刀口基本上快好啦,请问我现在能抽烟吗?等您... 手机在超市买东西付完钱忘记拿,现在超市说监控都打不开,那要怎么办?能... 在超市买东西,付账时忘了把带在手上的扎头皮筋付钱了,出门报警器也没响... 睡眠不好吃什么食物能改善睡眠 长期睡眠不好吃什么食物能助眠? 信息技术基础设施库中侧重于提供服务的流程中,不包括( )。A.发布管理...