(二)RabbitMQ实战——rabbitmq高可用集群搭建

这篇具有很好参考价值的文章主要介绍了(二)RabbitMQ实战——rabbitmq高可用集群搭建。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

本节内容是关于rabbitmq高可用集群的部署搭建,使用的是centos7系统,我们准备三台服务器作为rabbitmq的高可用服务器,rabbitmq集群本身不是天然支持高可用的,我们通过配置rabbitmq服务器的镜像队列,以确保消息可以在集群中的多个节点上进行复制存储,提高可用性和容错性,避免单节点故障。

rabbitmq高可用集群服务器规划
主机名 IP 服务
hadoop101 192.168.10.101 rabbitmq
hadoop102 192.168.10.102 rabbitmq
hadoop103 192.168.10.103 rabbitmq

正文

①上传rabbitmq安装包到服务器hadoop101、hadoop102、hadoop103

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

②服务器分别使用rpm命令安装erlang环境

命令:

sudo rpm -ivh erlang-26.2.3-1.el7.x86_64.rpm

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

查看erlang是否安装成功:

rabbitmq高可用集群,中间件,rabbitmq

③使用rpm命令安装rabbitmq服务器

命令:

sudo rpm -ivh rabbitmq-server-3.13.0-1.el8.noarch.rpm

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

④启动rabbitmq服务器

命令:

#设置rabbitmq服务器开机自启
systemctl enable rabbitmq-server
#启动rabbitmq服务器
systemctl start rabbitmq-server
#查看rabbitmq服务器状态
systemctl status rabbitmq-server
#停止rabbitmq服务器
systemctl stop rabbitmq-server
#重启rabbitmq服务器
systemctl restart rabbitmq-server

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

⑤开启rabbitmq的web客户端rabbitmq_management

-开启rabbitmq服务器的web客户端

rabbitmq-plugins enable rabbitmq_management

rabbitmq高可用集群,中间件,rabbitmq

- 使用浏览器访问rabbitmq客户端

rabbitmq高可用集群,中间件,rabbitmq

- 添加rabbitmq访问的账号

# 创建用户
rabbitmqctl add_user <用户名> <密码>
# 设置用户角色
rabbitmqctl set_user_tags <用户> <角色>
# 设置用户权限
rabbitmqctl set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
# 查看用户
rabbitmqctl list_users

rabbitmq高可用集群,中间件,rabbitmq

- 使用创建的rabbitmq账户admin登录web端

rabbitmq高可用集群,中间件,rabbitmq

⑥配置主机名和host地址的映射,便于服务器通过主机名相互访问,关于服务器之间的免密访问,以及服务器文件之间的互传可参考作者往期博客内容

rabbitmq高可用集群,中间件,rabbitmq

⑦同步分发hadoop101服务器rabbitmq的cookie到hadoop102和hadoop103,确保各个节点使用的是同一个cookie

scp /var/lib/rabbitmq/.erlang.cookie root@hadoop102:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@hadoop103:/var/lib/rabbitmq/.erlang.cookie

rabbitmq高可用集群,中间件,rabbitmq

⑧在hadoop102、hadoop103节点分别执行以下命令,使节点加入集群

- 后台启动rabbitmq服务

rabbitmq-server -detached

- 关闭rabbitmq服务器

rabbitmqctl stop_app

- 重置rabbitmq服务器

rabbitmqctl reset

- rabbitmq加入集群

rabbitmqctl join_cluster rabbit@hadoop101

- 启动应用

rabbitmqctl start_app

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

- 查看集群状态

rabbitmqctl cluster_status

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

⑨ rabbitmq节点退出集群,以hadoop103节点退出为例

- 停止hadoop103节点应用

rabbitmqctl -n rabbit@hadoop103 stop_app

rabbitmq高可用集群,中间件,rabbitmq

- 在hadoop101或者hadoop102任意节点移除hadoop103

rabbitmqctl forget_cluster_node rabbit@hadoop103

rabbitmq高可用集群,中间件,rabbitmq

- 查看集群

rabbitmq高可用集群,中间件,rabbitmq

rabbitmq高可用集群,中间件,rabbitmq

⑩创建镜像队列,实现rabbitmq消息集群间同步

- 正常情况下,rabbitmq集群并不是高可用的,节点间的数据是不能共享的,需要使用镜像队列同步节点数据,引入镜像队列(Mirror Queue)的机制,如果集群中的一个节点失效了,队列能自动地切换到镜像中的另一个节点上以保证服务的可用性

rabbitmq高可用集群,中间件,rabbitmq

- 镜像策略添加完成,可根据具体实际需求添加多个策略

rabbitmq高可用集群,中间件,rabbitmq

- 查看策略是否生效

rabbitmq高可用集群,中间件,rabbitmq

- 停掉节点101,集群还能正常使用,故障发生转移,其它节点生效

rabbitmq高可用集群,中间件,rabbitmq

- 重启节点101,副本数恢复

rabbitmq高可用集群,中间件,rabbitmq

结语

至此,关于rabbitmq高可用集群搭建的教程到这里就结束了,我们下期见。。。。。。文章来源地址https://www.toymoban.com/news/detail-861701.html

到了这里,关于(二)RabbitMQ实战——rabbitmq高可用集群搭建的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RabbitMQ高可用集群搭建

    理论简介 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。实现高性能、高可用、可伸缩和最终一致性架构,是大型分布式系统不可缺少的中间件。目前在生产环境,使用较多的消息队列有ActiveMQ、RabbitMQ、Kafka、RocketMQ等。 Rabbi

    2024年02月20日
    浏览(43)
  • 【RabbitMQ】之高可用集群搭建

    一、RabbitMQ 集群原理 1、默认集群原理 2、镜像集群原理 3、负载均衡方案 二、RabbitMQ 高可用集群搭建 1、RabbitMQ 集群搭建 2、配置镜像队列 3、HAProxy 环境搭建 4、Keepalived 环境搭建 3-1、RabbitMQ 集群简介 单台 RabbitMQ 服务器处理消息的能力是有瓶颈的,而且可靠性还无法保证,所

    2024年02月15日
    浏览(43)
  • centos9 stream 下 rabbitmq高可用集群搭建及使用

    RabbitMQ是一种常用的消息队列系统,可以快速搭建一个高可用的集群环境,以提高系统的弹性和可靠性。下面是搭建RabbitMQ集群的步骤: 基于centos9 stream系统 首先需要在所有节点上安装Erlang和RabbitMQ。建议使用官方提供的安装包进行安装。 在所有节点上编辑hosts文件,将各节

    2024年02月06日
    浏览(47)
  • 消息中间件RabbitMQ

    1.1.1. 什么是MQ MQ(message queue) ,从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,

    2024年01月17日
    浏览(85)
  • RabbitMQ消息中间件

    RabbitMQ消息中间件 RabbitMQ简介 windows下安装RabbitMQ RabbitMQ基本概念 RabbitMQ简单模式 RabbitMQ工作队列模式 RabbitMQ发布订阅模式 RabbitMQ路由模式 RabbitMQ主题模式 RabbitMQ RPC模式 RabbitMQ发布确认模式

    2024年02月10日
    浏览(60)
  • 消息中间件RabbitMQ详解

    消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。 消息中间件适用于需要可靠的数据传送的分布式环境。采用消息中间件机制的系统中

    2024年02月16日
    浏览(83)
  • 消息中间件之RabbitMQ

    1.基于AMQP协议Erlang语言开发的一款消息中间件,客户端语言支持比较多, 比如Python,Java,Ruby,PHP,JS,Swift.运维简单,灵活路由,但是性能不高, 可以满足一般场景下的业务需要,三高场景下吞吐量不高,消息持久化没有采取 零拷贝技术,消息堆积时,性能会下降 2.消息吞吐量在

    2024年01月19日
    浏览(86)
  • 中间件RabbitMQ消息队列介绍

    1.1 什么是 MQ MQ ( message queue ),从字面意思上看,本质是个队列, FIFO 先入先出,只不过队列中存放的内容是 message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中, MQ 是一种非常常 见的上下游 逻辑解耦+物理解耦 的消息通信服务。使用了 MQ 之

    2024年02月13日
    浏览(72)
  • RabbitMQ 消息中间件 消息队列

    RabbitMQ 1、RabbitMQ简介 RabbiMQ是⽤Erang开发的,集群⾮常⽅便,因为Erlang天⽣就是⼀⻔分布式语⾔,但其本身并 不⽀持负载均衡。支持高并发,支持可扩展。支持AJAX,持久化,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 2、RabbitMQ 特点 可

    2024年02月03日
    浏览(69)
  • 【RabbitMQ教程】前言 —— 中间件介绍

                                                                       💧 【 R a b b i t M Q 教程】前言——中间件介绍 color{#FF1493}{【RabbitMQ教程】前言 —— 中间件介绍} 【 R abbi tMQ 教程】前言 —— 中间件介绍 💧           🌷 仰望天空,妳

    2024年02月08日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包