rabbitMQ集群部署以及集群之間同步


MQ集群部署

 

期待的部署架構

其中,一個機房有兩台機器部署MQ,並組成集群,有一個機房的MQ集群作為中心集群,其他機房的MQ集群將消息同步到中心MQ集群中。

 

 

安裝erlang,略。。

安裝rabbitMQ,略。。

基本配置(NODENAME之類的,略)

配置本地集群

配置hosts

同一機房集群的兩台機器都要配置host,要保證可以通過hosts訪問到同一機房的集群機器

比如同一機房的兩台機

NODENAME=rabbit@111_100_222_217

NODENAME=rabbit@111_100_222_218

111_100_222_217為同ip對應的域名

需要在這兩台機上,配置/etc/hosts,增加配置如下:

111.100.222.217  111_100_222_217

111.100.222.218  111_100_222_218

 

加入集群

在兩台機器上,先啟動MQ:

./rabbitmq-server&(同機房集群里的都要啟動,不然后面join不進去)

然后在其中每台機器上,執行命令:

    ./rabbitmq-plugins enable rabbitmq_federation rabbitmq_federation_management rabbitmq_management

    ./rabbitmqctl stop_app

    ./rabbitmqctl reset

    ./rabbitmqctl join_cluster rabbit@111_100_222_218

    (218那台機器是

    ./rabbitmqctl join_cluster rabbit@111_100_222_217

    目的是相互增加對方為集群)

    最后,重啟MQ

    ./rabbitmq-server&(如果存在則先kill掉 )

 

本地集群配置完畢

 

本地MQ集群和中心MQ集群的同步

同步是單向的,都是單向同步到中心MQ

本地MQ集群的同步配置

在每個本地MQ集群中,配置一下:(一個集群只需要一台機器配置,會自動擴散到集群)

增加admin用戶並設置權限

./rabbitmqctl add_user admin yy-cloud

./rabbitmqctl set_permissions  admin ".*" ".*" ".*"

./rabbitmqctl set_user_tags admin administrator

設置策略

./rabbitmqctl  set_policy ha-federation  "^federation" '{"ha-mode":"exactly","ha-params":2}' 0

 

本地MQ集群的同步配置完成了.

 

中心MQ集群配置

設置策略

./rabbitmqctl  set_policy ha-federation  "^federation" '{"ha-mode":"exactly","ha-params":2}' 0

然后上中心MQ的web管理界面,在Admin下有個Federation Upstreams插件,為每個需要同步過來的MQ集群增加upstreams. 需要配置的是URI參數和Expries參數,其他參數一概默認就行

URI

amqp://admin:yy-cloud@111.100.222.217:5672 amqp://admin:yy-cloud@111.100.222.218:5672

Expires

3600000ms

記得每個需要同步過來的MQ集群都要配置一下。 最后,大功告成了!

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM