学习是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. Ubuntu Server无线上网

    在自己电脑上装个Ubuntu Server,需要连接无线上网,参照附录的两个连接完成. 重置的自己路由器,只是为了找ssid和密码 配置步骤: 1. 生成无线上网密码配置文件 root@Ubuntu: ...

  2. C#学习笔记——数据库篇(1)

    C#的数据连接分同样分三步走 .连接语句 string str_conn = "sever = localhost;database = smaple;usid = sa;pwd = 123 ...

  3. 爱立信开始大规模mesh网络测试

    mesh网络可谓是物联网之关键,相较于传统有线技术,无线连接的mesh网络实施成本较低,而且更具有适应性和可扩展性,让高通信量的应用更加可靠. 虽然Thread和ZigBee等细分技术也能提供标准化的 ...

  4. Jrebel热部署配置完整教程(IntelliJ IDEA、Jrebel、spring boot、springboot、eclipse、Tomcat)

    标签:IntelliJ IDEA.Jrebel.spring boot.springboot.eclipse.Tomcat1.安装插件并激活插件安装参考:http://blog.csdn.net/u0 ...

  5. windows 下更新 npm 和 node

    原文链接 公司的新项目要启动了,需要使用 Angular 4.0,并且使用 webpack 工具进行打包.所以就需要安装 node.node 的安装很简单,在 node 的官网 nodejs.org  ...

  6. sublime3配置php环境

    最后的演示效果: 1. 按照sublime3开始前的准备工作 Ctrl+Shift+P,再输入install ,最后再输入想要安装的软件 (输入install会有几十秒的延迟,请不要重复操作) 配置p ...

  7. 《Linux命令行与shell脚本编程大全》第二十一章 sed进阶

    本章介绍一些sed编辑器提供的高级特性. 21.1 多行命令 按照之前的知识,所有的sed编辑器命令都是针对单行数据执行操作的. 在sed编辑器读取数据流时,它会基于换行符的位置将数据分成行,一次处理 ...

  8. 以css伪类为基础,引发的选择器讨论 [新手向]

    作为第一篇技术干货,来写哪个方面的内容,我着实考虑了很久. 经过了整整30秒的深思熟虑,我决定就我第一次发现新大陆一样的内容,来进行一次讨论. 伪类:伪类对元素进行分类是基于特征(characteri ...

  9. 程序员的自我救赎---1.4.3: 核心框架讲解(MVC)

    <前言> (一) Winner2.0 框架基础分析 (二)PLSQL报表系统 (三)SSO单点登录 (四) 短信中心与消息中心 (五)钱包系统 (六)GPU支付中心 (七)权限系统 (八) ...

  10. 进程与进程描写叙述符(task_struct)

    一. 进程 进程(Process) 计算机中的程序关于某数据集合上的一次执行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体: ...