【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 ...
随机推荐
- easypoi导出动态表头excel
easypoi导出动态表头excel 1: springBoot项目maven依赖: <dependency> <groupId>cn.afterturn</groupI ...
- HCNP Routing&Switching之BGP路由过滤和AS-Path-Filter
前文我们聊了下通过修改BGP路由属性来影响路由,从而达到控制BGP路由的目的:回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15495585.html:今天我们 ...
- AsExpandable EF多条件查询
我个人学习新技术有一个方法,如果遇到问题会根据以前的经验来寻找一些类似的解决方法.有人会说,如果这个问题在你的学习或者工作生涯中都没有遇到过呢?很简单,通过搜索资料或查阅相关书籍学习别人的经验. 在如 ...
- 菜鸡的Java笔记 - java 反射机制
反射机制 1.观察 Class 类的使用 2.利用反射改善工程设计模式 3.反射操作类结构 content (内容) 1. ...
- hover 背后的数学和图形学
前端开发中,hover是最常见的鼠标操作行为之一,用起来也很方便,CSS直接提供:hover伪类,js可以通过mouseover+mouseout事件模拟,甚至一些第三方库/框架直接提供了 hover ...
- 那一天,我被Redis主从架构支配的恐惧
面试官:要不你来讲讲你最近在看的点呗?可以拉出来一起讨论下(今天我也不知道要问什么) 候选者:最近在看「Redis」相关的内容 面试官:嗯,我记得已经问过Redis的基础和持久化了 面试官:要不你来讲 ...
- [hdu7082]Pty loves lcm
先将问题差分,即仅考虑上限$R$(和$L-1$) 注意到$f(x,y)$增长是较快的,对其分类讨论: 1.若$y\ge x+2$,此时满足$f(x,y)\le 10^{18}$的$(x,y)$只有约$ ...
- CF1290E Cartesian Tree
考虑笛卡尔树的意义: 一个点在笛卡尔树中的子树,代表以他为最小/最大值的区间. 所以一个点的子树大小,一定是类似到达序列边界或者被一个比他更大的数隔离. 考虑记录 \(l_i,r_i\) 为第 \(i ...
- Codeforces 1188E - Problem from Red Panda(找性质+组合数学)
Codeforces 题面传送门 & 洛谷题面传送门 咦,题解搬运人竟是我? 一道很毒的计数题. 先转化下题意,每一次操作我们可以视作选择一种颜色并将其出现次数 \(+k\),之后将所有颜色的 ...
- [ARC101C] Ribbons on Tree
神仙的容斥题与神仙的树形DP题. 首先搞一个指数级的做法:求总的.能够覆盖每一条边的方案数,通过容斥可以得到\(\text{ans}=\sum\limits_E{(-1)^{|E|}F(E)}\).其 ...