rabbitmq集群搭建,鏡像隊(duì)列搭建

教你如何從0開始搭建rabbitmq集群

一绘闷、準(zhǔn)備工作

1橡庞、三臺(tái)centos虛擬機(jī)
2、三臺(tái)虛擬機(jī)都安裝了docker
3印蔗、假設(shè)三臺(tái)虛擬機(jī)的ip是192.168.2.128扒最,192.168.2.129,192.168.2.130

二华嘹、搭建rabbitmq集群

1吧趣、3臺(tái)機(jī)子分別配置host文件

vim /etc/hosts
填入內(nèi)容:
192.168.2.128 rabbit1
192.168.2.129 rabbit2
192.168.2.130 rabbit3

host文件

2、運(yùn)行rabbit容器

在rabbit1機(jī)器運(yùn)行
docker run -d --hostname rabbit1 --net=host --name myrabbit1 -p 4369:4369 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3.6.15-management
在rabbit2機(jī)器運(yùn)行
docker run -d --hostname rabbit2 --net=host --name myrabbit2 -p 4369:4369 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3.6.15-management
在rabbit3機(jī)器運(yùn)行
docker run -d --hostname rabbit3 --net=host --name myrabbit3 -p 4369:4369 -p 15672:15672 -p 5672:5672 -e RABBITMQ_ERLANG_COOKIE='rabbitcookie' rabbitmq:3.6.15-management

3耙厚、加入集群

在rabbit2機(jī)器執(zhí)行命令

rabbitmqctl stop_app 
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbit1
rabbitmqctl start_app
exit

在rabbit3機(jī)器執(zhí)行命令

rabbitmqctl stop_app 
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@rabbit1
rabbitmqctl start_app
exit

進(jìn)入 192.168.2.130:15672 查看狀態(tài)賬號(hào)密碼是guest/guest


rabbitmq集群

如果要摘除節(jié)點(diǎn)强挫,在rabbit1機(jī)器執(zhí)行:
docker exec -it myrabbit1 bash
rabbitmqctl forget_cluster_node rabbit@rabbit3
exit

點(diǎn)擊queues,填寫隊(duì)列名薛躬,然后新增一個(gè)隊(duì)列

新增隊(duì)列

此時(shí)隊(duì)列內(nèi)容沒冗余俯渤,只存在rabbit1中,當(dāng)rabbit1的隊(duì)列服務(wù)掛了型宝,此隊(duì)列也不可用了八匠。
在rabbit1機(jī)器執(zhí)行
docker stop myrabbit1

再查看管理臺(tái)


管理臺(tái)

隊(duì)列

三、創(chuàng)建鏡像隊(duì)列

重新啟動(dòng)rabbit1
docker start myrabbit1
新建2個(gè)隊(duì)列extqueue和nodesqueue

新建隊(duì)列

rabbitmqctl set_policy [-p <vhost>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition>

指令參數(shù)詳情
參數(shù)名稱 描述
-p 可選參數(shù)趴酣,針對(duì)指定 vhost 下的exchange或 queue
--priority 可選參數(shù)梨树,policy 的優(yōu)先級(jí)
--apply-to 可選參數(shù),策略適用的對(duì)象類型价卤,其值可為 "queues", "exchanges" 或 "all".默認(rèn)是"all"
name policy 的名稱
pattern 匹配模式(正則表達(dá)式)
definition 鏡像定義,json 格式渊涝,包括三部分(ha-mode,ha-params,ha-sync-mode)具體配置見下表
definition參數(shù)詳情

參數(shù)名稱 描述
ha-mode 指名鏡像隊(duì)列模式慎璧,其值可為"all","exactly"或"nodes"床嫌,all:表示在集群所有節(jié)點(diǎn)上進(jìn)行鏡像;exactly:表示在指定個(gè)數(shù)的節(jié)點(diǎn)上鏡像胸私,節(jié)點(diǎn)個(gè)數(shù)由 ha-params 指定厌处;nodes:表示在指定節(jié)點(diǎn)上進(jìn)行鏡像,節(jié)點(diǎn)名稱通過ha-params 指定岁疼。
ha-params ha-mode模式需要用到的參數(shù):exactly 模式下為數(shù)字表述鏡像節(jié)點(diǎn)數(shù)阔涉,nodes 模式下為節(jié)點(diǎn)列表表示需要鏡像的節(jié)點(diǎn)。
ha-sync-mode 鏡像隊(duì)列中消息的同步方式捷绒,其值可為"automatic"或"manually".

例子:要對(duì)規(guī)則是^ext*的隊(duì)列增加鏡像隊(duì)列瑰排,一共是2個(gè)隊(duì)列
docker exec -it myrabbit1 bash
rabbitmqctl set_policy --apply-to queues extpolicy "^ext*" '{"ha-mode":"exactly","ha-params":2,"ha-sync-mode":"automatic"}'
exit

例子:要對(duì)規(guī)則是^nodes*的隊(duì)列增加鏡像隊(duì)列,分別在rabbit@rabbit2和rabbit@rabbit3兩臺(tái)服務(wù)器上鏡像
docker exec -it myrabbit1 bash
rabbitmqctl set_policy --apply-to queues nodespolicy "^nodes*" '{"ha-mode":"nodes","ha-params":["rabbit@rabbit2","rabbit@rabbit3"],"ha-sync-mode":"automatic"}'
exit

linux命令
效果

extqueue

可以看到都匹配到對(duì)應(yīng)的規(guī)則暖侨,有1個(gè)冗余的隊(duì)列椭住。
此時(shí)我們把rabbit2停掉看一看效果;
在rabbit2的機(jī)器上執(zhí)行
docker stop myrabbit2
集群全集

nodesqueue

nodesqueue隊(duì)列依舊工作
extqueue

extqueue隊(duì)列的鏡像隊(duì)列換了一個(gè)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末字逗,一起剝皮案震驚了整個(gè)濱河市京郑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌葫掉,老刑警劉巖些举,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異俭厚,居然都是意外死亡户魏,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門套腹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來绪抛,“玉大人,你說我怎么就攤上這事电禀〈甭耄” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵尖飞,是天一觀的道長(zhǎng)症副。 經(jīng)常有香客問我,道長(zhǎng)政基,這世上最難降的妖魔是什么贞铣? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮沮明,結(jié)果婚禮上辕坝,老公的妹妹穿的比我還像新娘。我一直安慰自己荐健,他們只是感情好酱畅,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布琳袄。 她就那樣靜靜地躺著,像睡著了一般纺酸。 火紅的嫁衣襯著肌膚如雪窖逗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天餐蔬,我揣著相機(jī)與錄音碎紊,去河邊找鬼。 笑死樊诺,一個(gè)胖子當(dāng)著我的面吹牛仗考,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啄骇,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼痴鳄,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了缸夹?” 一聲冷哼從身側(cè)響起痪寻,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虽惭,沒想到半個(gè)月后橡类,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡芽唇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年顾画,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片匆笤。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡研侣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出炮捧,到底是詐尸還是另有隱情庶诡,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布咆课,位于F島的核電站末誓,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏书蚪。R本人自食惡果不足惜喇澡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望殊校。 院中可真熱鬧晴玖,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至榨惰,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間静汤,已是汗流浹背琅催。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留虫给,地道東北人藤抡。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像抹估,于是被迫代替她去往敵國(guó)和親缠黍。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344