rabbitmq在linux中实现多机多可用集群

简介: rabbitmq在linux中实现多机多可用集群

环境:centos7、erlang18.3、rabbitmq3.6.12


本次采用多机多可用方式作为实例:


1.1.准备多台服务器,安装好erlang和rabbitmq,保证服务启动后可以出现图像化界面。


1.2.检查服务器上的rabbitmq的历史记录是否存在,清除该路径下的所有文件

rabbitmq/var/lib/rabbitmq/mnesia


1.3.设置erlang.cookie


保证不同节点的erlang.cookie的随机串内容一致。


注:

该文件可能存在于/root/.erlang.cookie

或/var/lib/rabbitmq/.erlang.cookie


1.4.设置所有服务器的hosts文件


vi /etc/hosts

将内容中添加所有节点的ip,和主机名

20210430151546685.png


1.5.设置服务器名称(分别设置)


vi /etc/sysconfig/network

20210430151552492.png


1.6.运行各节点

rabbitmq-server -detached


1.7.搭建集群


本次以rabbit1为主节点,rabbit2、rabbit3为从节点。

分别在从节点运行命令:

rabbitmqctl stop_app

rabbitmqctl reset

rabbitmqctl join_cluster rabbit@rabbit1

rabbitmqctl start_app


查看集群状态:

rabbitmqctl cluster_status


配置完成后,看到的集群状态:


Cluster status of node rabbit@rabbit2

[{nodes,[{disc,[rabbit@rabbit1,rabbit@rabbit2]}]},

{running_nodes,[rabbit@rabbit1,rabbit@rabbit2]},

{cluster_name,<<“rabbit@rabbit2”>>},

{partitions,[]},

{alarms,[{rabbit@rabbit1,[]},{rabbit@rabbit2,[]}]}]


1.8.在任意一个节点创建用户,设置权限


rabbitmqctl add_user liuyz 123456

rabbitmqctl set_user_tags liuyz administrator

rabbitmqctl set_permissions -p ‘/’ liuyz ‘.’ ‘.’ ‘.’


1.9.登录web页面,查看集群配置情况

20210430151613339.png


1.10.集群就此搭建完成,在任意一个节点创建交换机、节点,其余节点都会同步复制数据。(也就是说本演示为基于元数据进行操作)


相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
8天前
|
消息中间件 Linux
linux之centos安装rabbitmq
linux之centos安装rabbitmq
|
2月前
|
消息中间件 存储 负载均衡
|
2月前
|
消息中间件 存储 负载均衡
"RabbitMQ集群大揭秘!让你的消息传递系统秒变超级英雄,轻松应对亿级并发挑战!"
【8月更文挑战第24天】RabbitMQ是一款基于AMQP的开源消息中间件,以其高可靠性、扩展性和易用性闻名。面对高并发和大数据挑战时,可通过构建集群提升性能。本文深入探讨RabbitMQ集群配置、工作原理,并提供示例代码。集群由多个通过网络连接的节点组成,共享消息队列,确保高可用性和负载均衡。搭建集群需准备多台服务器,安装Erlang和RabbitMQ,并确保节点间通信顺畅。核心步骤包括配置.erlang.cookie文件、使用rabbitmqctl命令加入集群。消息发布至任一节点时,通过集群机制同步至其他节点;消费者可从任一节点获取消息。
31 2
|
2月前
|
消息中间件 Unix Linux
在Linux中,RabbitMQ是什么?
在Linux中,RabbitMQ是什么?
|
2月前
|
运维 负载均衡 监控
"Linux高可用集群背后的神秘力量:揭秘心跳机制,如何确保服务永不掉线?"
【8月更文挑战第21天】今天探讨Linux高可用集群中的心跳机制——节点间定期发送信号以确认彼此状态的关键技术。它主要用于故障检测、负载均衡及资源接管。示例代码展示如何使用Corosync+Pacemaker配置心跳,确保服务连续性与可靠性。正确配置心跳机制能够显著提升系统的稳定性。
32 1
|
2月前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
56 0
|
2月前
|
存储 分布式计算 负载均衡
在Linux中,什么是集群,并且列出常见的集群技术。
在Linux中,什么是集群,并且列出常见的集群技术。
|
3月前
|
消息中间件 Prometheus 监控
消息队列 MQ使用问题之如何将旧集群的store目录迁移到新集群
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
2月前
|
消息中间件 API 数据安全/隐私保护
就软件研发问题之RocketMQ ACL 2.0加强集群组件间访问控制的问题如何解决
就软件研发问题之RocketMQ ACL 2.0加强集群组件间访问控制的问题如何解决
下一篇
无影云桌面