【Linux】【Services】【MessageQueue】搭建高可用rabbitMQ
1. 简介
1.1. 官方网站: https://www.rabbitmq.com/
1.2. 配置文档:https://docs.openstack.org/ha-guide/shared-messaging.html#rabbitmq-configure
2. 安装与配置:
| 功能与组件 | 机器名 | 服务IP | 管理IP | Processor Cores | RAM | Storage | 备注 |
| Mongo/Redis/RabbitMQ/Memorycached | HCTJOSCACHE01 | 10.30.2.45 | 172.16.0.45 | ||||
| Mongo/Redis/RabbitMQ/Memorycached | HCTJOSCACHE02 | 10.30.2.46 | 172.16.0.46 | ||||
| Mongo/Redis/RabbitMQ/Memorycached | HCTJOSCACHE03 | 10.30.2.47 | 172.16.0.47 |
2.1. 安装:在每个节点上都做
直接使用yum安装,openstack的yum源中会提供安装包
yum install rabbitmq-server
启动服务(确认cookie文件已经生成)
~]# systemctl start rabbitmq-server
~]# ll /var/lib/rabbitmq/.erlang.cookie
-r-------- 1 rabbitmq rabbitmq 20 Dec 6 00:00 /var/lib/rabbitmq/.erlang.cookie
创建用户
#前面的openstack是用户名,后面的openstack是密码
rabbitmqctl add_user openstack openstack
Creating user "openstack" ...
赋权限
rabbitmqctl set_permissions openstack ".*" ".*" ".*" Setting permissions for user "openstack" in vhost "/" ...
停止rabbitMQ
systemctl stop rabbitmq-server
2.2. 配置
在节点01上,把cookie文件scp到另外两个节点上
scp /var/lib/rabbitmq/.erlang.cookie root@hctjoscache02:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@hctjoscache03:/var/lib/rabbitmq/.erlang.cookie
在节点02/03上分别修改权限
# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
# chmod 400 /var/lib/rabbitmq/.erlang.cookie
在节点01上启动服务并查看集群状态
[root@hctjoscache01 yum.repos.d]# systemctl start rabbitmq-server.service
[root@hctjoscache01 yum.repos.d]# rabbitmqctl cluster_status
Cluster status of node rabbit@hctjoscache01 ...
[{nodes,[{disc,[rabbit@hctjoscache01]}]},
{running_nodes,[rabbit@hctjoscache01]},
{cluster_name,<<"rabbit@hctjoscache01.hccos.cn">>},
{partitions,[]},
{alarms,[{rabbit@hctjoscache01,[]}]}]
在节点02和03上启动服务,停止本机服务,加入01的集群(成功加入以后,再启动服务就不用执行stop_app了)
[root@hctjoscache02 ~]# systemctl start rabbitmq-server
[root@hctjoscache02 ~]# rabbitmqctl stop_app
Stopping node rabbit@hctjoscache02 ...
[root@hctjoscache02 ~]# rabbitmqctl join_cluster --ram rabbit@hctjoscache01
Clustering node rabbit@hctjoscache02 with rabbit@hctjoscache01 ...
[root@hctjoscache03 ~]# systemctl start rabbitmq-server
[root@hctjoscache03 ~]# rabbitmqctl stop_app
Stopping node rabbit@hctjoscache03 ...
[root@hctjoscache03 ~]# rabbitmqctl join_cluster --ram rabbit@hctjoscache01
Clustering node rabbit@hctjoscache03 with rabbit@hctjoscache01 ...
在01节点上查看状态
[root@hctjoscache01 yum.repos.d]# rabbitmqctl cluster_status
Cluster status of node rabbit@hctjoscache01 ...
[{nodes,[{disc,[rabbit@hctjoscache01]},
{ram,[rabbit@hctjoscache03,rabbit@hctjoscache02]}]},
{running_nodes,[rabbit@hctjoscache01]},
{cluster_name,<<"rabbit@hctjoscache01.hccos.cn">>},
{partitions,[]},
{alarms,[{rabbit@hctjoscache01,[]}]}]
配置一下ha的模式,我没太明白官方文档中的意思,不过看起来是说这样配置的话可以实现HA模式,消息可以镜像到其他的节点

rabbitmqctl set_policy ha-all '^(?!amq\.).*' '{"ha-mode": "all"}'
【Linux】【Services】【MessageQueue】搭建高可用rabbitMQ的更多相关文章
- 搭建高可用rabbitmq集群及spring boot实现集群配置
java spring boot配置: //具体参看了配置的源码 org.springframework.boot.autoconfigure.amqp.RabbitProperties //Rabb ...
- 搭建高可用mongodb集群(四)—— 分片(经典)
转自:http://www.lanceyan.com/tech/arch/mongodb_shard1.html 按照上一节中<搭建高可用mongodb集群(三)-- 深入副本集>搭建后还 ...
- [转]搭建高可用mongodb集群(四)—— 分片
按照上一节中<搭建高可用mongodb集群(三)—— 深入副本集>搭建后还有两个问题没有解决: 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的 ...
- [转]搭建高可用mongodb集群(二)—— 副本集
在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...
- 搭建高可用mongodb集群(四)—— 分片
按照上一节中<搭建高可用mongodb集群(三)—— 深入副本集>搭建后还有两个问题没有解决: 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的 ...
- 搭建高可用mongodb集群(三)—— 深入副本集内部机制
在上一篇文章<搭建高可用mongodb集群(二)—— 副本集> 介绍了副本集的配置,这篇文章深入研究一下副本集的内部机制.还是带着副本集的问题来看吧! 副本集故障转移,主节点是如何选举的? ...
- 搭建高可用mongodb集群(二)—— 副本集
在上一篇文章<搭建高可用MongoDB集群(一)——配置MongoDB> 提到了几个问题还没有解决. 主节点挂了能否自动切换连接?目前需要手工切换. 主节点的读写压力过大如何解决? 从节点 ...
- 搭建高可用mongodb集群(一)——配置mongodb
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. NOSQL有这些优势: 大数据量,可以通过 ...
- 通过LVS+Keepalived搭建高可用的负载均衡集群系统
1. 安装LVS软件 (1)安装前准备操作系统:统一采用Centos6.5版本,地址规划如下: 服务器名 IP地址 网关 虚拟设备名 虚拟ip Director Server 192.168 ...
随机推荐
- PTA甲级1094 The Largest Generation (25分)
PTA甲级1094 The Largest Generation (25分) A family hierarchy is usually presented by a pedigree tree wh ...
- 痞子衡嵌入式:实测i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率. 上一篇文章 <聊聊i.MXRT1xxx上的普通GPIO与高速GP ...
- python一对一教程:Computational Problems for Physics chapter 1-B Code Listings 1.7 - 1.12
作者自我介绍:大爽歌, b站小UP主 ,直播编程+红警三 ,python1对1辅导老师 . 本博客为一对一辅导学生python代码的教案, 获得学生允许公开. 具体辅导内容为<Computati ...
- 日记啦QWWQ
随便写写 时间 :2021年11月15日 今天是在博客园创建博客的第一天,彻底放弃在CSDN中的博客,广告实在是太多了,QWQ. 来计科的第一个学期就快要结束了,期间有很多的遗憾,往后加油吧! 没什么 ...
- Spark面试题(七)——Spark程序开发调优
Spark系列面试题 Spark面试题(一) Spark面试题(二) Spark面试题(三) Spark面试题(四) Spark面试题(五)--数据倾斜调优 Spark面试题(六)--Spark资源调 ...
- [loj6278]数列分块入门2
做法1 以$K$为块大小分块,并对每一个块再维护一个排序后的结果,预处理复杂度为$o(n\log K )$ 区间修改时将整块打上标记,散块暴力修改并归并排序,单次复杂度为$o(\frac{n}{K}+ ...
- [noi713]魔法
分治,维护一个dp数组,当递归到区间[l,r]时,需要保证这个dp数组维护的是除去[l,r]以外的dp数组维护其实很简单,就是递归左区间是先将右区间加入,然后再将左区间加入(要先复原)然后递归右区间即 ...
- [loj3347]有趣的旅途
考虑求出重心,以0为根建树,求出第 $i$个点的子树大小$sz[i]$($a(0,i)$),则满足$n-sz[i]\le \lfloor\frac{n}{2}\rfloor$的$sz[i]$中的最小值 ...
- 简单聊下.NET6 Minimal API的使用方式
前言 随着.Net6的发布,微软也改进了对之前ASP.NET Core构建方式,使用了新的Minimal API模式.之前默认的方式是需要在Startup中注册IOC和中间件相关,但是在Minimal ...
- Educational Codeforces Round 89 题解
昨晚简单 vp 了场比赛找了找状态,切了 5 个题(有一个差点调出来),rk57,还算理想吧,毕竟我已经好久没碰过电脑了( A 签到题不多说,直接输出 \(\min\{a,b,\dfrac{a+b}{ ...