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集群都要配置一下。 最后,大功告成了!

rabbitMQ集群部署以及集群之间同步的更多相关文章

  1. kubernetes容器集群部署Etcd集群

    安装etcd 二进制包下载地址:https://github.com/etcd-io/etcd/releases/tag/v3.2.12 [root@master ~]# GOOGLE_URL=htt ...

  2. Elasticsearch7.6 集群部署、集群认证及使用、数据备份

    window 环境部署集群 注意:window下载解压elasticsearch一定需要解压多次.例如搭建的3节点的,需要解压3次,防止生成 cluster UUID 一致导致只能看到一个节点 1.e ...

  3. Centos6.9下RabbitMQ集群部署记录

    之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言, ...

  4. ZooKeeper分布式集群部署及问题

    ZooKeeper为分布式应用系统提供了高性能服务,在许多常见的集群服务中被广泛使用,最常见的当属HBase集群了,其他的还有Solr集群.Hadoop-2中的HA自己主动故障转移等. 本文主要介绍了 ...

  5. Zeebe服务学习3-Raft算法与集群部署

    1.背景Zeebe集群里面保证分布式一致性问题,是通过Raft实现的,其实这个算法用途比较广泛,比如Consul网关,也是通过Raft算法来实现分布式一致性的. 首先简单介绍一下Raft: 在学术界, ...

  6. Centos7部署Redis集群

    Redis简介 Redis(Remote Dictionary Server)是完全开源的.遵守BSD协议的.高性能的Key-Value数据库. Redis与其他Key-Value缓存产品有一下三个特 ...

  7. kafka学习总结之集群部署和zookeeper

    1.  集群部署 kafka集群的瓶颈主要在网络和磁盘上:kafka依赖于zookeeper,zookeeper集群的节点采用奇数个,3个节点允许一个节点失败,5个节点允许2个节点失败. 图 1 ka ...

  8. Storm1.0.3集群部署

    Storm集群部署 所有集群部署的基本流程都差不多:下载安装包并上传.解压安装包并配置环境变量.修改配置文件.分发安装包.启动集群.查看集群是否部署成功. 1.所有的集群上都要配置hosts vi   ...

  9. mongo的集群部署

    # MongoDB 集群部署 ## 关键词 * 集群 * 副本集 * 分片 ## MongoDB集群部署 >今天主要来说说Mongodb的三种集群方式的搭建Replica Set副本集 / Sh ...

随机推荐

  1. PLSQL Developer 不能连接 oracle 11g 64位 的解决办法

    http://blog.itpub.net/14184018/viewspace-760730 http://www.cnblogs.com/gulvzhe/archive/2012/08/27/26 ...

  2. ACM ICPC 2015 Moscow Subregional Russia, Moscow, Dolgoprudny, October, 18, 2015 H. Hashing

    H. Hashing time limit per test 1 second memory limit per test 512 megabytes input standard input out ...

  3. 02_Swift2基础之常量和变量+注释+分号

    1. 常量和变量 常量 和 变量 把一个名字(比如 'number' 或者 'welcomeMessage')和一个指定类型的值(比如数字'10'或者字符串 ' "Hello" ' ...

  4. mysql 的 find_in_set函数使用方法

    举个例子来说: 有个文章表里面有个type字段,他存储的是文章类型,有 1头条,2推荐,3热点,4图文 .....11,12,13等等 现在有篇文章他既是 头条,又是热点,还是图文, type中以 1 ...

  5. curl/wget 测试http请求的响应头信息

    1. wget –debug wget可以使用debug信息来查看信息头,如下: [root@localhost ~]# wget --debug http://192.168.1.101:8080/ ...

  6. My Notepad

    I have spent near more two weeks to write this Notepad application. At this moment, I want to share ...

  7. nodejs模仿http请求组件nodegrass简单例子

    1.搭建nodejs环境. 2.执行npm install nodegrass命令. 3.引入模块,var ng= require(nodegrass); 4.下面先看nodegrass底层的get方 ...

  8. MongoDB数据库的简介及安装

    一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自“humongous”,是一种开源的文档数据库──No ...

  9. 利用Jquery给当前页或者跳转后页面的导航栏添加选中后样式

    具体的样式有两种情况,一种是直接给当前页面添加特殊样式,当网页刷新或者跳转到下一页后,样式消失:另一种情况是即使刷新页面后样式仍然有效. 直接上代码: 第一种情况: 在CODE上查看代码片派生到我的代 ...

  10. 怎么控制表单placeholder属性的样式兼容各大浏览器?

    当我们使用placeholder的时候会遇到样式的控制和版本的兼容问题(但是还是只有css3支持),以至于达不到我们想要的效果,下面来看一种: 下面是css: .invalid:-moz-placeh ...