企业私有云之rabbitmq高可用
2023-06-13 09:15:49 时间
默认openstack使用rabbitmq做信息队列,如果想是云高可用,那么需要对每个涉及的组件都进行高可用配置,本文主要介绍如何使用rabbitmq做高可用。
高可用的方法为:
通过 Erlang 的分布式特性(通过 magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服务为对等节点,即每个节点都提供服务给客户端连接,进行消息发送与接收。 这些节点通过 RabbitMQ HA 队列(镜像队列)进行消息队列结构复制。本方案中搭建 3 个节点,并且都是磁盘节点(所有节点状态保持一致,节点完全对等),只要有任何一个节点能够工作,RabbitMQ 集群对外就能提供服务。
环境为:
系统centos 7.1
rabbitmq版本是3.6.2
主机信息
node1 10.10.33.163 node2 10.10.33.166 node3 10.10.33.167
/etc/hosts配置为
10.10.33.163 ip-10-10-33-163 10.10.33.166 ip-10-10-33-166 10.10.33.167 ip-10-10-33-167
下面是开始安装
一、安装
安装第三方库与rabbitmq
yum install -y epel-release yum install rabbitmq-server
启动服务
systemctl enable rabbitmq-server.service systemctl start rabbitmq-server.service
二、配置
在node1里配置
将node1的/var/lib/rabbitmq/.erlang.cookie复制到node2与node3
修改权限(所有节点)
chmod 400 /var/lib/rabbitmq/.erlang.cookie chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
在node2里配置
[root@ip-10-10-33-166 my.cnf.d]# rabbitmqctl stop_app Stopping node rabbit@ip-10-10-33-166 ... [root@ip-10-10-33-166 my.cnf.d]# rabbitmqctl join_cluster rabbit@ip-10-10-33-163 Clustering node rabbit@ip-10-10-33-166 with rabbit@ip-10-10-33-163 ... You have new mail in /var/spool/mail/root [root@ip-10-10-33-166 my.cnf.d]# rabbitmqctl start_app Starting node rabbit@ip-10-10-33-166 ...
在node3里配置
[root@ip-10-10-33-167 my.cnf.d]# rabbitmqctl stop_app Stopping node rabbit@ip-10-10-33-167 ... [root@ip-10-10-33-167 my.cnf.d]# rabbitmqctl join_cluster rabbit@ip-10-10-33-163 Clustering node rabbit@ip-10-10-33-167 with rabbit@ip-10-10-33-163 ... [root@ip-10-10-33-167 my.cnf.d]# rabbitmqctl start_app Starting node rabbit@ip-10-10-33-167 ...
查看集群状态
[root@ip-10-10-33-166 my.cnf.d]# rabbitmqctl cluster_status Cluster status of node rabbit@ip-10-10-33-166 ... [{nodes,[{disc,[rabbit@ip-10-10-33-163,rabbit@ip-10-10-33-166, rabbit@ip-10-10-33-167]}]}, {running_nodes,[rabbit@ip-10-10-33-163,rabbit@ip-10-10-33-167, rabbit@ip-10-10-33-166]}, {cluster_name, "rabbit@ip-10-10-33-163" }, {partitions,[]}, {alarms,[{rabbit@ip-10-10-33-163,[]}, {rabbit@ip-10-10-33-167,[]}, {rabbit@ip-10-10-33-166,[]}]}]
三、集群高可用配置
设计镜像队列策略
在任何一个节点执行
[root@ip-10-10-33-163 ~]# rabbitmqctl set_policy ha-all ^(?!amq/.).* {"ha-mode": "all"} Setting policy "ha-all" for pattern "^(?!amq//.).*" to "{/"ha-mode/": /"all/"}" with priority "0" ...
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/55681.html
centos相关文章
- 数商云SCM管理系统解决方案,助力汽车服务行业企业建立敏捷供应链平台体系
- 利用pytest hook函数实现自动化测试结果推送企业微信
- 业务安全情报,预知发现黑灰产的企业攻击
- 氚云是什么产品?氚云数据如何连接企业微信、飞书、钉钉?
- 微信企业号开发:接收消息和事件详解手机开发
- rabbitmq构建全新架构:JPA、Redis RabbitMQ 技术结合实现(jparedis)
- 向日葵优化升级Windows定制版远控权限,加强企业内部信息安全保护!
- 了解Oracle企业版报价,实现企业信息化高效发展(oracle企业版报价)
- Linux安装RabbitMQ:快速、高效的消息系统部署(linux安装rabbitmq)
- Oracle与Odoo实现企业高效运作的关键(odoo oracle)
- 实现企业软件自动化APARC ORACLE系统(aparc oracle)
- 库用动力节点Redis资料库构建企业数据库(动力节点redis资料)
- 调优Oracle企业版参数调优保障系统性能不减速(oracle 企业版参数)
- Oracle 90展现企业新灵活性(oracle 90)