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
金融时间序列三整理转分享前言前两篇主要介绍了一些线性模型ARMAARMAARIMA。这篇主要介绍时间序列的季节模型。参考文献1。《金融时间序列分析》第2版RueyS。Tsay著王辉、潘家柱……
古藤的绝唱古藤,成都市新都区桂湖公园里一枝奇特的古老紫藤。踏入公园的大门,在大门右侧有一段两人合抱粗的树桩赫然蹲着,酷似一尊黑面大佛,有虎踞龙盘之气势。树桩伸展出无数根藤蔓,……
最后一天!哈登联手大帝?威少离队倒计时克利夫兰全明星赛即将来临,交易日截止日还会远吗?北京时间2月11日上午7点半,杜兰特与詹姆斯将进行选人,届时全明星对阵将会揭晓!但如今谁还会关心全明星阵容咋样,联盟各支队……
感悟这一年时光如梭,转眼间又是一年钟声近,没变的是岁月哪不停歇的脚步,变了的是自己人生的年轮上又多了一道痕。这一年,临近尾声,所有的发生,无论是好的还是坏的,是顺心的还是不如意的,……
吃鸡8000点券4个皮肤!新军需游戏外直售,后续新品提前看务实、不浮夸!我是你们的情报小能手,微笑十倍镜。吃鸡手游和平精英近期有在游戏外开启了军需返场的活动,虽然平台不同,但是套路还是与上次一样!主播带货带得不亦乐乎,玩家们也深陷其中……
兰陵王被误解颇深的英雄,其实很适合S28赛季的节奏大家好我是指尖,大家平时打野都会选择哪些英雄呢?是顺应版本选择比较强势的英雄,还是玩自己喜欢的英雄呢?其实有一个英雄一直被大家忽略,或许他才是最适合这个版本的英雄,他就是兰陵王……
证监会公布6月券商白名单,财信广发兴业新晋入围每经记者:王砚丹每经编辑:肖芮冬6月22日,证监会发布了新一期的券商白名单。本期共有30家券商入围,相比3月的27家,增加的3家券商分别是财信、广发、兴业。行业第七……
地球大气层从哪里结束,外太空从哪里开始?外层空间从哪里开始?地球的大气层具有不同的特征当登山者攀登珠穆朗玛峰时,他们通常会携带氧气瓶,他们次可以在高海拔地区自由呼吸。因为你越靠近地球大气层的边缘,可用的氧……
打新周报20cm强度仍需确认,新股肉签跟随沾光本周(3月6日3月10日)有绿通科技(301322。SZ)、茂莱光学(688520。SH)等8只新股上市,数量较上周(2月27日3月3日)增加1只。本周市场整体较为冷淡,……
那些换过队名的NBA球队,你知道几个?NBA的球队并不是一成不变的,随着时间的推移,他们会变更自己的球队LOGO,变更自己球队的球馆,当然有一些也换过队名,今天我们来盘点下那些换过球队名的NBA球队。一:华盛……
一个名额500万?难怪贾秀全派新人踢奥运,李铁让归化球员坐板如果在阿根廷,国脚名额也可以买卖,那么梅西这辈子也夺得不了世界杯!如果在巴西,一个国脚名额500万,那么大罗和小罗恐怕连球都踢不上!这就是中国足球一直落后,无法打进世界杯的主要……
女排名将龚翔宇火热追星忍了两年必须大声说,真的很难不爱!北京时间2月27日,目前参加女排集训的中国女排奥运冠军龚翔宇在个人社交平台表达自己对艺人宁艺卓的喜爱,她说到:忍了两年真的憋不住了,必须得大声说,我真的很难不爱宁艺卓。随后,球……