docker搭建RabbitMQ集群
1:拉取Rabbitmq镜像dockerpullrabbitmq:3。7management
2:创建并运行三个RabbitMQ容器节点,一主两从创建RabbitMQ目录mkdirhomerabbitmqcdhomerabbitmq创建三个rabbitmq目录,存储三个节点配置信息mkdirrabbitmq01rabbitmq02rabbitmq03rabbitmqCluster01主节点dockerrundhostnamerabbitmq01namerabbitmq01vhomerabbitmqrabbitmq01:varlibrabbitmqp15672:15672p5672:5672eRABBITMQERLANGCOOKIErabbitmqCookierabbitmq:3。7managementrabbitmqCluster02从节点dockerrundhostnamerabbitmq02namerabbitmq02vhomerabbitmqrabbitmq02:varlibrabbitmqp7002:15672p5673:5672eRABBITMQERLANGCOOKIErabbitmqCookielinkrabbitmq01:rabbitmq01rabbitmq:3。7managementrabbitmqCluster03从节点dockerrundhostnamerabbitmq03namerabbitmq03vhomerabbitmqrabbitmq03:varlibrabbitmqp8002:15672p5674:5672eRABBITMQERLANGCOOKIErabbitmqCookielinkrabbitmq01:rabbitmq01linkrabbitmq02:rabbitmq02rabbitmq:3。7management
d后台运行容器;
name指定容器名;
p指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号),控制台端口用于管理rabbitmq,应用访问端口号为rabbitclient等应用访问。;
v映射目录或文件,pwd当前目录;
hostname主机名(RabbitMQ的一个重要注意事项是它根据所谓的节点名称存储数据,默认为主机名);
e指定环境变量;(RABBITMQDEFAULTVHOST:默认虚拟机名;RABBITMQDEFAULTUSER:默认的用户名;RABBITMQDEFAULTPASS:默认用户名的密码,RABBITMQERLANGCOOKIE节点认证作用,部署集成时需要同步该值)
link用于容器的链接
查看运行中的三个RabbitMQ容器:
3:集群搭建:将RabbitMQ节点加入到集群进入rabbitmq01容器,重新初始化一下,如果是新安装则reset可以忽略重置。dockerexecitrabbitmq01bashrabbitmqctlstopapprabbitmqctlresetrabbitmqctlstartappexit进入rabbitmq02容器,重新初始化一下,将02节点加入到集群中dockerexecitrabbitmq02bashrabbitmqctlstopapprabbitmqctlresetrabbitmqctljoinclusterramrabbitrabbitmq01参数ram表示设置为内存节点,忽略该参数默认为磁盘节点。rabbitmqctlstartappexit进入rabbitmq03容器,重新初始化一下,将03节点加入到集群中dockerexecitrabbitmq03bashrabbitmqctlstopapprabbitmqctlresetrabbitmqctljoinclusterramrabbitrabbitmq01rabbitmqctlstartappexit
4:集群测试访问
设置好之后,使用http:192。168。0。100:15672进行访问了,默认账号密码是guestguest,其中192。168。0。100是我的宿主机IP。启动了3个节点,到此为止,我们已经完成了RabbitMQ普通模式集群的建立,启动了3个节点,1个磁盘节点和2个内存节点。但是如果磁盘节点挂掉后,数据就丢失了。所以我们这个集群方案需要进一步改造为镜像模式集群。
5:设置镜像队列
设置镜像队列命令:rabbitmqctlsetpolicy名称匹配模式(正则)镜像定义,例如,设置名称为ha的镜像队列,匹配所有名称是amp开头的队列都存储在2个节点上的命令如下:随便进入一个容器dockerexecitrabbitmq01bash设置策略匹配所有名称是amp开头的队列都存储在2个节点上的命令如下rabbitmqctlsetpolicyphaamp{hamode:exactly,haparams:2}或者设置策略匹配所有名称的队列都进行高可用配置rabbitmqctlsetpolicypha{hamode:all,hasyncmode:automatic}查询策略rabbitmqctllistpoliciesp查看vhost下的所有的策略(policies)
可以看出设置镜像队列,一共有四个参数,每个参数用空格分割。
参数一:策略名称,可以随便填,此外我们命名为ha(高可用);
参考二:p设置哪个虚拟主机,可以使用rabbitmqctllistpoliciesp查看vhost下所有的策略(policies)。
参数三:队列名称的匹配规则,使用正则表达式表示;
参数四:为镜像队列的主体规则,是json字符串,分为三个属性:hamodehaparamshasyncmode,分别的解释如下:
hamode:镜像模式,分类:allexactlynodes,all存储在所有节点;exactly存储x个节点,节点的个数由haparams指定;nodes指定存储的节点上名称,通过haparams指定;
haparams:作为参数,为hamode的补充;
hasyncmode:镜像消息同步方式:automatic(自动),manually(手动);
查看镜像队列rabbitmqctllistpolicies
删除镜像队列rabbitmqctlclearpolicy
新赛季廉颇老矣的六大球星,保罗自作自受,罗斯任人宰割廉颇老矣,尚能饭否。这极具凄凉的诗词,同样适用于NBA舞台。在巨星云集,群星璀璨的舞台上,从来不缺少传奇。在小球盛行的时代,动辄50的得分盛宴比比皆是,也令老牌球星年轻球员有了重返
三千亩彩叶林,在北方感受江南园林的秋意红叶地点北宫国家森林公园秋游亮点距离近三千亩彩叶有山有水北宫国家森林公园。图ICphoto北宫国家森林公园距市中心仅20公里,是离城区最近的彩叶观赏地之一,适合全家出游爬山。北宫森
隐藏于山中的小故宫,就在四川绵阳,却少有游客问津头条创作挑战赛北京的故宫作为我们国家重要的地标建筑,以及世界知名的旅行景点之一,在全国各地也有许多建筑和故宫有着一定的相似之处,其中在四川也有一处明代古建筑和故宫有着许多相同之处,
探寻秋雨中的褒禅山文金淮(安徽)一座山,牵出了我们一次兴趣盎然的旅行。一名洞,呼唤着我们一次寻古探幽的研学。2022年10月5日上午,利用国庆黄金假期,一次神往已久的研学旅行开启了。我们6位好友同学
美景惊艳时光!晋祠网红银杏进入最佳观赏期晋祠的网红银杏树。本报讯(记者贾尚志文摄)霜降过后,晋祠景区的银杏进入最佳观赏期,在绚烂阳光下,叶子金黄的银杏林成为秋日里绝美景色,其中,王琼祠前500多年树龄的连理银杏古树更成为
韩国首尔发生踩踏事件的莉泰院究竟是个什么地方?韩国首尔龙山区梨泰院举行的万圣节庆祝活动聚集了十万多人,很不幸发生了踩踏事故,人员伤亡严重,那么为什么会选择在莉泰院庆祝活动?莉泰院到底是个什么地方?梨泰院的前身是驻韩美军基地,而
退役军人优待证再升级,这些地方优惠你们有吗?退役军人优待证陆续发放,各省市也结合优待证发放,推动退役军人优待证不断升级,服务项目不断创新内容不断增加,在出行食宿文化旅游医疗就诊购物消费等给退役军人带来实实在在的优惠。让我们一
广东惠州出现抓鸡虎,耳朵尖尖腿长长的,性格凶猛爱抓鸡吃位于惠东县的广东惠东海龟国家级自然保护区,地处南海大亚湾与红海湾交界的大星山下的海湾岸滩,虽说主要保护对象为海龟繁殖地,但由于环境优越,生态完好,这里的生物资源也相当丰富,是惠州乃
糖尿病害怕5种水果,一定要舍得吃,或有助血糖平稳如今糖尿病已经成为一种非常常见的慢性代谢类疾病,也已经严重威胁人类的健康,据统计,全球糖尿病患者已经高达3。82亿,其中80在中等和低收入国家。在我国18岁及以上的成年人,糖尿病的
四十生毫?四十生毫?古人讲三十生毫四十衰四十生毫五十老。古人又讲长眉老寿星。农村人眼里,眉梢长出长眉毛是让人羡慕和敬重的,因为有长寿眉的人那都是老寿星。古人又说眉上一根长,能抵万担粮。这说明
反流性食管炎,先清胃火,好得快临床上接诊了很多的反流性食管炎的患者,大部分都有肝郁化火的表现,总是感觉胃里有火烧一样的感觉,尤其是在进食之后,症状更为严重。想要改善也很简单,教给大家两个方法,轻松去胃火,改善你