学习是spring cloud的时候用到了rabbitmq,在实际项目中也用到了,镜像模式是集群的基础上面配置的,就多了一个数据同步,rabbitmq存储消息用的是cookie,配置之前先同步cookie。

1、安装模式
镜像模式描述:镜像模式是多个rabbitmq实现主从备份,多个rabbitmq之间是数据同步的,使用的时候一直在访问一个主的raabitmq,从的实现备份。如果主的宕机可以自动切换到从的mq,不影响整合系统的使用。
2、部署步骤:
2.1、安装rabbitmq
首先去官网下载安装rabbitmq,官网安装guide地址http://www.rabbitmq.com/install-rpm.html,rabbitmq是基于erlang语言的,我们实现需要安装erlang,官网地址:https://github.com/rabbitmq/erlang-rpm。
新建完了以后, yum installl erlang –y安装erlang,安装完了可以运行erl –version查看安装的erlang版本,查看是否安装正确。

然后继续安装rabbitmq,使用rpm安装,实现随便进入某个目录,下载rpm文件 。
安装relang:
vim /etc/yum.repos.d/rabbitmq-erlang.repo
插入:
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/6
gpgcheck=1
gpgkey=https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1
# yum -y install erlang
然后安装rabbitmq:
# wget https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.14-1.el6.noarch.rpm
然后安装rabbitmq
# rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
# yum install rabbitmq-server-3.6.14-1.el6.noarch.rpm -y(这里的名称换成上面下载的rpm名称)

如果报socat dependencies错误
# wget --no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
# yum makecache
# yum -y install socat

rabbitmq安装完运行rabbitmq-server –-version查看版本。Rabbitmq是基于主机名读取配置文件的,确保主机名在hosts文件中有说明例如我们主机名sjcj-v2-1,/etc/hosts文件中应该有 127.0.0.1 sjcj-v2-1。
启动rabbitmq
# service rabbitmq-server start
配置rabbitmq自启动
# chkconfig rabbitmq-server on
Rabbitmq有web端的监控界面,启用web插件
#rabbitmq-plugins enable rabbitmq_management #启用
关闭web插件
# rabbitmq-plugins disable rabbitmq_management
可以用默认账号guest,guest登陆http://localhost:15672,如果要远程登录,需要先创建帐户,rabbitmq本身出于安装考虑不允许远程使用guest账号,只能本地访问,但是我们是云服务器。新建管理员账号,例如:
# rabbitmqctl add_user waterlufei 123
# rabbitmqctl set_user_tags waterlufei administrator
# rabbitmqctl list_users (查看所有用户)

Web端访问远程IP,输入用户名waterlufei,密码123,进入web端管理界面

另一台服务器同样安装erlang和rabbitmq,启动rabbitmq监控界面。
2.2、配置镜像模式
现在两台服务器都安装完了但是之间没有相互联系,镜像模式是在主从模式的基础上面继续配置的,先配置主从模式,现在有两台IP,host文件都配置
192.168.243.145 sjcj-v2-1
192.168.243.148 waterlufei
同步cookie数据
rabbitmq的数据是用cookie存储的。
关闭148服务器的rabbitmq,直接kill掉rabbitmq的进程

登录145服务器
#cd /var/lib/rabbitmq –进入erlang.cookie所在目录,只有ls –al能看见此文件
#chmod 777 .erlang* –该文件默认为400权限,为方便传输,先修改权限,非必须操作
#scp .erlang.cookie rabbitmq@192.168.108.148:/var/lib/rabbitmq –将此文件传给另外两条主机
#chmod 400 .er* –恢复文件权限
在148上执行
#chown rabbitmq:rabbitmq .er* –修改文件所属用户和所属组
#chmod 400 .er* –修改文件权限
#service rabbitmq-server start

查询145的节点名称
# rabbitmqctl cluster_status

148 加入 145节点.
# rabbitmqctl stop_app –关掉rabbitmq2服务
# rabbitmqctl join_cluster rabbit@sjcj-v2-1
# rabbitmqctl start_app –启动rabbitmq2服务
查看集群状态rabbitmqctl cluster_status

在两个web端监控界面都可以看到

在一个rabbitmq的监控界面新建一个队列,可以发现另一个mq也有的相同的队列,数据和配置都会同步。

rabbitmq配置镜像模式的更多相关文章

  1. RabbitMQ 3.9.7 镜像模式集群的搭建

    1. 概述 老话说的好:做人脚踏实地,一步一个脚印,便定能战胜一切困难,最终取得成功!!! 言归正传,之前我们聊了 RabbitMQ 单点服务的安装,今天我们来聊聊 RabbitMQ 3.9.7 镜像 ...

  2. RabbitMQ学习之集群镜像模式配置

    1.增加负载均衡器 关于负载均衡器,商业的比如F5的BIG-IP,Radware的AppDirector,是硬件架构的产品,可以实现很高的处理能力.但这些产品昂贵的价格会让人止步,所以我们还有软件负载 ...

  3. RabbitMQ 3.9.7 镜像模式集群与Springboot 2.5.5 整合

    1. 概述 老话说的好:做人要懂得变通,善于思考,有时稍微转个弯,也许问题就解决了. 言归正传,之前我们聊了 RabbitMQ 3.9.7 镜像模式集群的搭建,今天我们来聊聊 RabbitMQ 3.9 ...

  4. rabbitmq镜像模式初体验

    rabbitmq-01: yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm wget ...

  5. RabbitMQ之消息模式(下)

    目的: RabbitMQ之消息模式(上):https://www.cnblogs.com/huangting/p/11994539.html 消费端限流 消息的ACK与重回队列 TTL消息 死信队列 ...

  6. SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移

    SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移 上一篇文章已经为配置镜像数据库做好了准备,接下来就要进入真正的配置阶段 一.在镜像数据库服务器上设置安全性并启动数据 ...

  7. RabbitMQ六种队列模式-工作队列模式

    前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列 [本文]RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主 ...

  8. RabbitMQ六种队列模式-路由模式

    前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式 [本文]RabbitMQ六种队列模式-主 ...

  9. RabbitMQ六种队列模式-主题模式

    前言 RabbitMQ六种队列模式-简单队列RabbitMQ六种队列模式-工作队列RabbitMQ六种队列模式-发布订阅RabbitMQ六种队列模式-路由模式RabbitMQ六种队列模式-主题模式 [ ...

随机推荐

  1. window下安装Apache+PHP

    本地系统为windows 10,Apache选择httpd-2.4.25-x64-vc14-r1,PHP选择php7.1_x64线程安全版. 1.安装Apache 将apache解压到c:/serve ...

  2. windows下忘记mysql的root密码解决方法(图文)

    在windows下忘记mysql的root密码对于很对新手来说,也是会经常遇到的,我也刚好遇到啦,参考网上的解决办法,自己又整理啦一下. 1.首先需要查看mysql的服务是否启动. 打开cmd窗口,输 ...

  3. Linux笔记(固定USB摄像头硬件端口,绑定前后置摄像头)

    在Android的系统会有前置摄像头和后置摄像头的定义,摄像头分为SOC类型的摄像头和USB这一类的摄像头,接下要分析就是USB摄像头这一类 . 一般在android或者linux系统中分析一个模块, ...

  4. 浅谈IM(InstantMessaging) 即时通讯/实时传讯【理论篇】

        一.IM简要概述 IM InstantMessaging(即时通讯,实时传讯)的缩写是IM,互动百科大致解释是一种可以让使用者在网络上建立某种私人聊天(chatroom)的实时通讯服务. 大部 ...

  5. python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言)

    python requests抓取NBA球员数据,pandas进行数据分析,echarts进行可视化 (前言) 感觉要总结总结了,希望这次能写个系列文章分享分享心得,和大神们交流交流,提升提升. 因为 ...

  6. npm常用命令整理

    npm是一个NodeJS包管理跟分发工具,已经成为了非官方的发布node模块(包)的标准.它可以帮助我们解决代码部署上的一些问题,将开发者从繁琐的包管理工作中(版本.依赖等)解放出来,更加专注于功能上 ...

  7. 多线程 - pthread、NSThread

    1. pthread pthread 简单介绍下,pthread是一套通用的多线程的API,可以Unix / Linux / Windows 等徐彤跨平台使用,使用C语言编写,需要程序员自己管理线程的 ...

  8. phpcms网站搬家 至 服务器 完整并且详细过程

    上传服务器空间后,才会通过搜索域名进行网页访问. 上传的过程肯定会有很多东西要修改,例如数据库怎么上传.路径怎么修改等..... 这就让大家看下,自己不断尝试后的完整搬家步骤!!! 一.上传服务器 ( ...

  9. 通过Nutch扩展点开发插件(添加自定义索引字段到solr)

    爬虫系统:通过Nutch扩展点开发插件(添加自定义索引字段到solr) 准备工作 爬虫环境 -- nutch2.3.1 + solr4.10.3 + hbase0.98 开发环境 -- Eclipse ...

  10. 导弹拦截(pascal)

    导弹拦截 [问题描述] 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕 ...