RabbitMQ 多种安装模式

文章目录

  • 前言
  • 一、Windows 安装 RabbitMq
    • 1、版本关系
    • 2、Erlang
      • 2.1、下载安装 Erlang 23.1
      • 2.2、配置 Erlang 环境变量
    • 3、RabbitMQ
      • 3.1、下载安装 RabbitMQ 3.8.9
      • 3.2、环境变量
      • 3.3、启动RabbitMQ 管理插件
      • 3.3、RabbitMQ
      • 3.4、注意事项
  • 二、安装docker
    • 1、更新系统包:
    • 2、安装必要的软件包:
    • 3、添加Docker的YUM存储库:
    • 4、安装Docker Engine:
    • 5、启动Docker:
    • 6、验证Docker安装:
  • 三、docker安装Rabbitmq
    • 1、拉取RabbitMQ镜像:
    • 2、运行RabbitMQ容器:
    • 3、访问RabbitMQ管理界面:
  • 四、docker安装Rabbitmq集群
    • 1、拉取RabbitMQ镜像:
    • 2、创建 docker 网络(让容器可以和主机通信)
    • 3、创建三个容器,端口分别是 5673 5674 5675 ,管理端口是 15673 15674 15675
    • 4、后两个节点作为内存节点加入集群
    • 5、加入集群失败


前言

本文介绍rabbitmq多种安装模式


一、Windows 安装 RabbitMq

1、版本关系

  • RabbitMQ 依赖于 Erlang,需要先安装 Erlang
  • Erlang 和 RabbitMQ 版本有对应关系
    • http://www.rabbitmq.com/which-erlang.html
      在这里插入图片描述

2、Erlang

2.1、下载安装 Erlang 23.1

如果下载太慢了,可以把地址贴到迅雷里面,下载到本机
安装地址
https://www.erlang.org/downloads/23.1
安装exe 文件一直 next 就可以

2.2、配置 Erlang 环境变量

ERLANG_HOME=C:\Program Files\erl23.1

Path 添加

%ERLANG_HOME%\bin;

dos 输入 erl,输入能显示版本号则安装正确

3、RabbitMQ

3.1、下载安装 RabbitMQ 3.8.9

安装连接

https://www.rabbitmq.com/docs/install-windows

3.2、环境变量

RABBITMQ_SERVER=C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9

Path

%RABBITMQ_SERVER%\sbin;

3.3、启动RabbitMQ 管理插件

dos 中输入

"C:\Program Files\RabbitMQ Server\rabbitmq_server-3.8.9\sbin\rabbitmq-plugins.bat" enable rabbitmq_management

3.3、RabbitMQ

启动

net start RabbitMQ

关闭

net stop RabbitMQ

访问管理界面:http://localhost:15672/
默认用户名:guest
默认密码为:guest

默认配置文件地址:

C:\Users\sjl\AppData\Roaming\RabbitMQ\advanced.config

数据目录:

C:\Users\sjl\AppData\Roaming\RabbitMQ\db\rabbit@用户名-mnesia

3.4、注意事项

如果遇到无法启动的问题,先尝试在控制面板 —— 服务 —— 启动。
如果已经启动了,先服务里面停掉或者尝试用命令

.\rabbitmq-server.bat stop
.\rabbitmq-server.bat start

注意只能用 dos,不要用 powershell
如果要初始化 RabbitMQ,移除全部数据:

rabbitmq-service stop
rabbitmq-service remove
rabbitmq-service install
rabbitmq-service start

二、安装docker

1、更新系统包:

先更新系统中的YUM包管理工具和所有软件包,确保系统是最新的。

sudo yum -y update

2、安装必要的软件包:

安装软件包以允许YUM通过HTTPS使用存储库。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

3、添加Docker的YUM存储库:

使用 yum-config-manager 来设置存储库。

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4、安装Docker Engine:

使用下面的命令安装Docker。

sudo yum install -y docker-ce docker-ce-cli containerd.io

5、启动Docker:

启动Docker服务,并设置为开机自启动。

sudo systemctl start docker
sudo systemctl enable docker

6、验证Docker安装:

运行下面的命令以验证Docker是否正确安装和启动。

sudo docker --version

你应该能看到类似于 Docker version 20.10.7, build f0df350 的输出。

三、docker安装Rabbitmq

前提是安装了docker

1、拉取RabbitMQ镜像:

使用Docker命令拉取RabbitMQ的官方镜像。

docker pull rabbitmq:3.7.17-management

2、运行RabbitMQ容器:

运行以下命令创建并启动RabbitMQ容器。

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:management
  • -d 参数是后台运行容器。
  • –name rabbitmq 为容器指定名称。
  • -p 5672:5672 暴露标准的AMQP端口。
  • -p 15672:15672 暴露Web管理界面的端口。

3、访问RabbitMQ管理界面:

启动容器后,可以通过浏览器访问RabbitMQ的Web管理界面。

http://localhost:15672

四、docker安装Rabbitmq集群

前提是安装了docker

1、拉取RabbitMQ镜像:

使用Docker命令拉取RabbitMQ的官方镜像。

docker pull rabbitmq:3.7.17-management

2、创建 docker 网络(让容器可以和主机通信)

使用Docker命令拉取RabbitMQ的官方镜像。

docker network create rabbitmqnet

3、创建三个容器,端口分别是 5673 5674 5675 ,管理端口是 15673 15674 15675

docker run -d \
--name=rabbitmq1 \
-p 5673:5672 \
-p 15673:15672 \
-e RABBITMQ_NODENAME=rabbitmq1 \
-e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
-h rabbitmq1 \
--net=rabbitmqnet \
rabbitmq:managementdocker run -d \
--name=rabbitmq2 \
-p 5674:5673 \
-p 15674:15672 \
-e RABBITMQ_NODENAME=rabbitmq2 \
-e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
-h rabbitmq2 \
--net=rabbitmqnet \
rabbitmq:managementdocker run -d \
--name=rabbitmq3 \
-p 5675:5672 \
-p 15675:15672 \
-e RABBITMQ_NODENAME=rabbitmq3 \
-e RABBITMQ_ERLANG_COOKIE='GUPAOEDUFORBETTERYOU' \
-h rabbitmq3 \
--net=rabbitmqnet \
rabbitmq:management

4、后两个节点作为内存节点加入集群

docker exec -it rabbitmq2 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
rabbitmqctl start_appdocker exec -it rabbitmq3 /bin/bash
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbitmq1@rabbitmq1
rabbitmqctl start_app

访问:
访问管理界面:http://dockerIp:15673/
默认用户名:guest
默认密码为:guest
在这里插入图片描述

guest 用户默认只能在当前访问。如果是本机访问虚拟机的服务,需要添加其他用户(比如 admin),分配 vhost 权限才能远程访问

./rabbitmqctl add_user admin admin
./rabbitmqctl set_user_tags admin administrator
./rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

5、加入集群失败

  • 主节点是否启动成功, 网络连接是否正常, ping hostname 能不能 ping 通?
  • 25672 端口, 防火墙是否允许
  • erlang.cookie 是否一致, 如果遇到类似这样的错误 :TCP connection succeeded but Erlang distribution failed

清除历史记录 mv /var/lib/rabbitmq/mnesia/* /tmp/,重启

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7095.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java-数据结构】Java 链表面试题上 “最后一公里”:解决复杂链表问题的致胜法宝

我的个人主页 我的专栏:Java-数据结构,希望能帮助到大家!!!点赞❤ 收藏❤ 引言: Java链表,看似简单的链式结构,却蕴含着诸多有趣的特性与奥秘,等待我们去挖掘。它就像一…

【0x03】HCI_Connection_Complete事件详解

目录 一、事件概述 二、事件格式及参数详解 2.1. HCI_Connection_Complete事件格式 2.2. 事件参数 2.2.1. Status 2.2.2. Connection_Handle 2.2.3. BD_ADDR 2.2.4. Link_Type 2.2.5. Encryption_Enabled 三、事件处理流程 3.1. 事件触发 3.2. 事件接收与解析 3.…

激活版,快速安装

每天开机都要等待很长时间,玩游戏或看视频时频繁卡顿,甚至偶尔还会莫名其妙地崩溃。这种情况几乎每个人都遇到过,真是让人头疼不已。 别担心,其实有一种方法可以让你的电脑恢复如新,让我们一起看看如何解决这些烦恼吧…

二叉树(了解)c++

二叉树是一种特殊的树型结构,它的特点是: 每个结点至多只有2棵子树(即二叉树中不存在度大于2的结点) 并且二叉树的子树有左右之分,其次序不能任意颠倒,因此是一颗有序树 以A结点为例,左边的B是它的左孩子,右边的C是…

C#标准Mes接口框架(持续更新)

前言 由于近期我做了好几个客户的接入工厂Mes系统的需求。但是每个客户的Mes都有不同程度的定制需求,原有的代码复用难度其实很大。所以打算将整个接入Mes系统的框架单独拿出来作为一个项目使用,同时因为不同的设备接入同一个Mes系统,所以代…

【Nacos】负载均衡

目录 前言 一、服务下线二、权重配置三、同一个集群优先访问四、环境隔离 前言 我们的生产环境相对是比较恶劣的,我们需要对服务的流量进行更加精细的控制.Nacos支持多种负载均衡策略,包括配置权重,同机房,同地域,同环…

嵌入式MCU面试笔记2

目录 串口通信 概论 原理 配置 HAL库代码 1. 初始化函数 2. 数据发送和接收函数 3. 中断和DMA函数 4. 中断服务函数 串口通信 概论 我们知道,通信桥接了两个设备之间的交流。一个经典的例子就是使用串口通信交换上位机和单片机之间的数据。 比较常见的串…

DDD该怎么去落地实现(1)关键是“关系”

DDD落地的关键是“关系” 这些年,我认为DDD走到了一个死胡同里了,因为落地实现过于困难。很多团队在经过一段时间的学习,清楚理解了DDD那些晦涩的概念,根据业务绘制出领域模型,这都不困难。但绘制领域模型不是我们最终…

RabbitMQ---面试题

常见面试题 1.MQ的作用及应用场景 类似问题:项目什么情况下用到了MQ,为什么要用MQ MQ的主要应用场景,消息队列的应用场景,为什么说消息队列可以削峰 首先MQ是一种用来接收和转发消息的队列,常见的应用常见如下&…

PaddleSeg 从配置文件和模型 URL 自动化运行预测任务

git clone https://github.com/PaddlePaddle/PaddleSeg.git# 在ipynb里面运行 cd PaddleSegimport sys sys.path.append(/home/aistudio/work/PaddleSeg)import os# 配置文件夹路径 folder_path "/home/aistudio/work/PaddleSeg/configs"# 遍历文件夹,寻…

2_高并发内存池_各层级的框架设计及ThreadCache(线程缓存)申请内存设计

一、高并发内存池框架设计 高并发池框架设计,特别是针对内存池的设计,需要充分考虑多线程环境下: 性能问题锁竞争问题内存碎片问题 高并发内存池的整体框架设计旨在提高内存的申请和释放效率,减少锁竞争和内存碎片。 高并发内存…

WebODM之python实现

1、安装webodm_slam 主要是了解API文档,查看之前的文章 安装WebODM_slate 2、安装webodm 查看之前的文章 Win10安装WebODM和操作全流程 3、python脚本 项目案例 This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of…

2025年美赛C题:奥运奖牌榜模型 解析及Python代码实现

2025年美赛C题:奥运奖牌榜模型 解析及Python代码实现 1 题目 2025 MCM问题C:奥运奖 牌榜模型在最近的2024年巴黎夏季奥运会期间, 粉丝们除了观看个人项目外, 还关注每个 国家的整体 “ 奖牌榜 ”。 最终的结果(表1&am…

Qt 5.14.2 学习记录 —— 십칠 窗口和菜单

文章目录 1、Qt窗口2、菜单栏设置快捷键添加子菜单添加分割线和菜单图标 3、工具栏 QToolBar4、状态栏 QStatusBar5、浮动窗口 QDockWidget 1、Qt窗口 QWidget,即控件,是窗口的一部分。在界面中创建控件组成界面时,Qt自动生成了窗口&#xf…

Spring Boot 邂逅Netty:构建高性能网络应用的奇妙之旅

一、引言 在当今数字化时代,构建高效、可靠的网络应用是开发者面临的重要挑战。Spring Boot 作为一款强大的 Java 开发框架,以其快速开发、简洁配置和丰富的生态支持,深受广大开发者喜爱。而 Netty 作为高性能、异步的网络通信框架&#xff…

Windows中本地组策略编辑器gpedit.msc打不开/微软远程桌面无法复制粘贴

目录 背景 解决gpedit.msc打不开 解决复制粘贴 剪贴板的问题 启用远程桌面剪贴板与驱动器 重启RDP剪贴板监视程序 以上都不行?可能是操作被Win11系统阻止 最后 背景 远程桌面无法复制粘贴,需要查看下主机策略组设置,结果按WinR输入…

深圳大学-智能网络与计算-实验一:RFID原理与读写操作

实验目的与要求 掌握超高频RFID标签的寻卡操作。掌握超高频RFID标签的读写操作。掌握超高频RFID标签多张卡读取时的防冲突机制。 方法,步骤 软硬件的连接与设置超高频RFID寻卡操作超高频RFID防冲突机制超高频RFID读写卡操作 实验过程及内容 一.软硬…

快门:凝固瞬间与塑造动感的魔法开关

目录 一、快门的基本概念 二、快门速度的分类及效果 (一)高速快门 (二)低速快门 (三)安全快门 三、快门优先模式:掌控拍摄节奏的利器 四、快门与其他摄影要素的关系 (一&…

2025发文新方向:AI+量化 人工智能与金融完美融合!

2025深度学习发论文&模型涨点之——AI量化 人工智能的融入,使量化交易实现了质的突破。借助机器学习、深度学习等先进技术,人工智能可高效处理并剖析海量市场数据,挖掘出数据背后错综复杂的模式与趋势,从而不仅提升了数据分析…

单链表算法实战:解锁数据结构核心谜题——链表的回文结构

题目如下: 解题过程如下: 回文结构举例: 回文数字:12521、12321、1221…… 回文字符串:“abcba”、“abba”…… 并不是所有的循环嵌套的时间复杂度都是O(n^2) 可以用C写C程序: C里可以直接使用ListNode…