【笑小枫的按步照搬系列】Windows下安装RabbitMQ,图文完整教程

笑小枫的专属目录

    • 1. RabbitMq简介
      • 1.1 消息队列中间件简介
      • 1.2 什么是RabbitMQ
    • 2. 安装准备工具
      • 2.1 百度网盘下载
      • 2.2 官网下载erlang
      • 2.3 GitHub下载RabbitMQ
    • 3. 安装步骤
      • 3.1 erlang安装
        • 3.1.1 安装步骤图文讲解
        • 3.1.2 环境变量配置图文讲解
      • 3.2 RabbitMq安装
        • 3.2.1 解压zip文件到执行目录
        • 3.2.2 启动RabbitMQ
    • 4. 稀奇古怪的问题
      • 4.1 `rabbitmq-service.bat start exited with code 1`
      • 4.2 运行rabbitMQ后,出现` error:{case_clause,version_not_available}`或者`start_error, failed_to_start_child`
      • 4.3 出现 Authentication failed (rejected by the remote node), please check the Erlang cookie
      • 4.4 Status of node rabbit@ … ** (ArgumentError) argument error (stdlib)
      • 4.5 乱七八糟,网上也找不到的问题
    • 5. 完全卸载rabbitMQ
    • 6. 关于笑小枫

1. RabbitMq简介

1.1 消息队列中间件简介

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性[架构] 使用较多的消息队列有 ActiveMQ(安全),RabbitMQ,ZeroMQ,Kafka(大数据),MetaMQ,RocketMQ
以下介绍消息队列在实际应用中常用的使用场景:异步处理,应用解耦,流量削锋和消息通讯四个场景

1.2 什么是RabbitMQ

RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。
AMQP:Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。
RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。具体特点包括:

  1. 可靠性(Reliability)
    RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认。2.灵活的路由(Flexible Routing)
    在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ已经提供了一些内置的 Exchange 来实现。针对更复杂的路由功能,可以将多个Exchange 绑定在一起,也通过插件机制实现自己的 Exchange 。

  2. 消息集群(Clustering)
    多个 RabbitMQ 服务器可以组成一个集群,形成一个逻辑 Broker

  3. 高可用(Highly Available Queues)
    队列可以在集群中的机器上进行镜像,使得在部分节点出问题的情况下队列仍然可用。

  4. 多种协议(Multi-protocol)
    RabbitMQ 支持多种消息队列协议,比如 STOMP、MQTT 等等。

  5. 多语言客户端(Many Clients)
    RabbitMQ 几乎支持所有常用语言,比如 Java、.NET、Ruby 等等。

  6. 管理界面(Management UI)
    RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息 Broker 的许多方面。

  7. 跟踪机制(Tracing)
    如果消息异常,RabbitMQ 提供了消息跟踪机制,使用者可以找出发生了什么。

  8. 插件机制(Plugin System)
    RabbitMQ 提供了许多插件,来从多方面进行扩展,也可以编写自己的插件。

2. 安装准备工具

因为RabbitMQ服务器是用Erlang语言编写的, 所以,你需要去查看rabbitMq适应Erlang的版本,因为不同的rabbitMq版本对应不同的Erlang版本,可以点击如下该链接查看版本匹配度:

https://www.rabbitmq.com/which-erlang.html#compatibility-matrix

image-20231215100206096

2.1 百度网盘下载

如果你的网络访问GitHub或者erlang官网比较卡,可以直接通过博主分享的网盘进行下载:

erlang版本:otp_win64_25.2.1.exe

RabbitMQ版本:rabbitmq-server-windows-3.11.0.zip

网盘下载地址:https://pan.baidu.com/s/1UEuBsfbszCYiKjVXHALKgg?pwd=40a5

如果其它版本,继续参考下文:

2.2 官网下载erlang

erlang官方下载地址:https://erlang.org/download/otp_versions_tree.html

可以根据RabbitMQ的版本下载对应的erlang版本。

我这里下载的是25.2.1win64的版本哟

image-20231218131036165

2.3 GitHub下载RabbitMQ

RabbitMQ下载地址:https://github.com/rabbitmq/rabbitmq-server/releases/tag/v3.11.0

可以直接从GitHub上面下载,如果是其他版本,可以直接替换上面链接的版本号即可。

我们这里以3.11.0版本为例,讲解具体的安装步骤。

注意:不要使用exe执行文件进行安装,使用时会出现错误(例如:Error: {:unable_to_load_rabbit, {‘no such file or directory’, ‘rabbit.app’}}),暂未找到原因。
所以,我们下载压缩包进行解压安装(最新版本一般没有压缩包,上一个版本会有)

image-20231218100657291

3. 安装步骤

3.1 erlang安装

3.1.1 安装步骤图文讲解
  • 双击执行otp_win64_25.2.1.exe

image-20231215104456077

  • 选择自己需要安装目录,然后继续下一步

image-20231215104634166

  • 下一步,安装即可,静静等待安装完成即可。

image-20231215104731837

3.1.2 环境变量配置图文讲解

别问我在哪里配置,问我就让你百度😂😂😂

右击我的电脑 -> 属性 -> 高级系统设置 -> 环境变量

新建系统变量名为:ERLANG_HOME 变量值为erlang安装地址

image-20231215105420333

双击系统变量path,点击“新建”,将%ERLANG_HOME%\bin加入到path中。

image-20231215105605596

验证erlang是否安装成功

配置完环境变量后,cmd一定要重启

win+R键,输入cmd,再输入erl,看到erlang版本号就说明erlang安装成功了。

image-20231218140358957

3.2 RabbitMq安装

3.2.1 解压zip文件到执行目录

这里解压到D:\workpath\rabbit\目录下

image-20231218101800110

3.2.2 启动RabbitMQ

打开cmd命令窗口,切换到解压目录下,我这里是D:\workpath\rabbit\rabbitmq_server-3.11.0\sbin,运行下面命令,回车运行。

# 切换到D盘
d:

# 切换到指定目录下
cd D:\workpath\rabbit\rabbitmq_server-3.11.0\sbin

# 下载可视化管理界面插件
rabbitmq-plugins enable rabbitmq_management

安装成功的图片

image-20231218101056051

启动rabbitMQ,进入到\rabbitmq_server-3.11.0\sbin目录下,双击执行rabbitmq-server.bat文件。

image-20231218142628402

启动成功界面如下:

image-20231218141137530

在浏览器输入http://127.0.0.1:15672/,默认账号密码guest/guest

image-20231218142923184

登录成功后,可以看到rabbitMQ的管理页面

image-20231218142951053

4. 稀奇古怪的问题

4.1 rabbitmq-service.bat start exited with code 1

解决办法:

打开注册表,搜索计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Ericsson\Erlang

删除该选项后,以管理员方式打开cmd,在rabbitmq安装目录sbin下运行rabbitmq-service.bat install

4.2 运行rabbitMQ后,出现 error:{case_clause,version_not_available}或者start_error, failed_to_start_child

解决办法:

rabbitMQ和erlang的版本不兼容,参考对应的匹配关系表

4.3 出现 Authentication failed (rejected by the remote node), please check the Erlang cookie

解决办法:

比较下面两个文件夹下的.erlang.cookie文件内容,后来修改其中一个文件的内容,使两个文件内容一样。再次执行命令rabbitmqctl status,成功

C:\Windows\System32\config\systemprofile\.erlang.cookie
C:\User\{{电脑用户名}}\.erlang.cookie

4.4 Status of node rabbit@ … ** (ArgumentError) argument error (stdlib)

解决办法:

检查rabbitmq 服务的日志db、log 等文件夹的路径是否含有中文,检查本机的用户名是否为中文(存在中文会出现下面的报错)

4.5 乱七八糟,网上也找不到的问题

卸载rabbitMQ,卸载erlang,找准匹配关系,重新安装。

一定要删除干净,参考下文,不然又来一堆乱七八糟的问题

5. 完全卸载rabbitMQ

  1. 打开控制面板,找到RabbitMQ server,右键单击RabbitMQ Server 卸载。
  2. 在控制面板的当前安装程序列表中找到Erlang OTP 右键单击 卸载。
  3. 在任务管理器中,找到epmd.exe,看进程是否还在运行,右键结束进程。
  4. 删除所有RabbitMQErlang的文件夹与安装目录。
  5. 删除C:\Windows\System32\config\systemprofile\.erlang.cookie文件。
  6. 删除C:\User\{{电脑用户名}}\.erlang.cookie文件。
  7. 删除C:\Users\{{电脑用户名}}\AppData\Roaming\RabbitMQ文件。
  8. 打开注册表,找到HKEY_LOCAL_MACHINE下的Ericsson下的Erlang文件夹进行删除。
  9. 打开注册表,找到\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下的RabbitMQ文件夹进行删除。
  10. 删除配置的环境变量

如果有的就删除,没有的就跳过就行了,重新安装时,一定要删除干净。

6. 关于笑小枫

本文到此就结束了,如果帮助到你了,帮忙点个赞👍在安装的过程中有什么问题可以留言或者私信我哟

🐾我是笑小枫,全网皆可搜的【笑小枫】

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode刷题笔记】位运算

231. 2 的幂 解题思路: 1. 除法 , 不断循环判断, 如果能被 2 整除,就不断除以 2 ,直到不能被 2 整除为止,最后结果如果是 1 ,说明可以除尽,是 2 的幂次方,否则就不是。 特判:

北斗三号短报文户外应急产品及应用方案

我国幅员辽阔物产丰富,各大地区生产线都有工人日夜躬耕投入生产,然而与无人区、无网络区域作业人员通信一直是难以解决的技术问题;通信链路不稳定、通信不畅,通信距离短,无法与无人区人员进行实时沟通,对于…

RabbitMQ 如何保证消息可靠性

RabbitMQ 如何保证消息可靠性 1. 保证生产者可靠1.1 生产者确认机制1.2 实现生产者确认1.2.1 开启生产者确认机制1.2.2 定义ReturnCallback1.3.3.定义ConfirmCallback 1.3 注意 2. 保证MQ可靠2.1 数据持久化2.1.1 交换机持久化2.1.2.队列持久化2.1.3 消息持久化2.1.4 注意 3. 保…

引领半导体划片机行业,实现钛酸锶基片切割的卓越效能

在当今快速发展的半导体行业中,博捷芯以其卓越的技术实力和精准的行业应用,脱颖而出,再次引领行业潮流。这次,他们将先进的BJX3356划片机技术应用于钛酸锶基片的切割,为半导体制造行业的进一步发展提供了强大的技术支持…

mysql中的server_id到底有什么用?详解mysql配置中的server_id配置项

当我们搭建MySQL集群时,自然需要完成数据库的主从同步来保证数据一致性。而主从同步的方式也分很多种,一主多从、链式主从、多主多从,根据你的需要来进行设置。但只要你需要主从同步,就一定要注意server-id的配置,否则…

YOLOv5改进 | TripletAttention三重注意力机制(附代码+机制原理+添加教程)

一、本文介绍 本文给大家带来的改进是Triplet Attention三重注意力机制。这个机制,它通过三个不同的视角来分析输入的数据,就好比三个人从不同的角度来观察同一幅画,然后共同决定哪些部分最值得注意。三重注意力机制的主要思想是在网络中引入…

Gitlab仓库推送到Gitee仓库的一种思路

文章目录 Gitlab仓库推送到Gitee仓库的一种思路1、创建Gitee的ssh公钥(默认已有Gitlab的ssh公钥)2、添加Gitlab远程仓库地址3、添加Gitee远程仓库地址4、拉取Gitlab远程仓库指定分支到本地仓库指定分支(以test分支为例)5、推送本地…

Elasticsearch的批量bulk 提交 写入的方式会有顺序问题吗?

Elasticsearch的分布式特性可能会导致写入操作的执行顺序与提交顺序稍有不同。在分布式环境中,Elasticsearch将数据分散到不同的节点上进行存储和处理,因此写入操作的执行顺序可能会受到网络延迟、负载均衡等因素的影响。 根源在于ES的分布式架构。如上图所示,客户端的命令首…

蓝桥杯嵌入式——KEY

CUBE里将这几个引脚配置成GPIO输入模式,再同时选中,配置成上拉,如下图: 同时配置定时器,定时10ms,每10ms扫描一次按键,计算公式:80 000 000 / 80 / 10000 100HZ 10ms,配…

C语言-第十六周课堂总结-数组

引用 先定义,后使用只能引用单个的数组元素,不能一次引用整个数组 int a[10]; 10个数组元素:a[0]、a[1]、…、a[9] 数组元素:数组名[下标] 下标:整形表达式 下标取值范围:[0,数组长度-1]数组元…

解决win11杀毒(不能安装破解软件的问题)

1、下载火绒APP,打开火绒APP软件 2、点击菜单,选择安全设置 3、选择病毒防护,修改病毒处理方式为询问我 4、这样在解压激活的软件就不会被windows的杀毒软件自动删除了 5、问题解决了就点击三连吧

JVM虚拟机系统性学习-JVM调优实战之内存溢出、高并发场景调优

调优实战-内存溢出的定位与分析 首先&#xff0c;对于以下代码如果造成内存溢出该如何进行定位呢&#xff1f;通过 jmap 与 MAT 工具进行定位分析 代码如下&#xff1a; public class TestJvmOutOfMemory {public static void main(String[] args) {List<Object> list…

Linux CentOS7安装harbor

1、下载harbor离线包 wget https://github.com/goharbor/harbor/releases/download/v2.4.2/harbor-offline-installer-v2.4.2.tgz 2、解压安装 tar -zxvf harbor-offline-installer-v2.4.2.tgz #解压离线安装包 3、配置harbor cd harbor #切换到harbor目录下…

100套风景+人物动物AI绘画关键词

1、10美元计划 Midjourney的10美元计划是最基础的计划&#xff0c;每月可以生成200张图&#xff0c;然而没有fast模式&#xff0c;也无法免排队生成图。相对于30美元和60美元计划&#xff0c;这个计划更适合个人用户或小型团队使用&#xff0c;仅用于少量图像的生成。如果你只…

Ubuntu 20.04 prometheus prometheus-process-exporter

prometheus-process-exporter 监控系统架构方案 https://blog.csdn.net/weixin_45801289/article/details/126922395 sudo apt install prometheus-process-exporter prometheus-process-exporter_0.4.0ds-1_amd64.deb service prometheus-process-exporter status netstat …

在linux上基于shell自动部署Java项目

一&#xff0c;安装git yum list git 列出git安装包 yum install git 在线安装git 使用 git -varsion 查看是否安装成功 安装成功 二&#xff0c; Git克隆代码 git clone 远程仓库地址 三&#xff0c;创建shell脚本 touch shell.sh shell脚本 #!/bin/sh echo echo 自动…

PowerShell实战(一)PowerShell使用ImportExcel模块轻松操作Excel

目录 一、介绍 二、安装模块 三、操作示例 1、导出excel 2、读取Excel数据 3、导出包含图表的Excel 4、导出包含汇总列和图表的Excel 一、介绍 ImportExcel模块可以理解为基于PowerShell环境操作Excel的强大类库&#xff0c;使用它可以在 Windows、Linux 和 Mac 上都可以使用。…

【Apache-StreamPark】Flink 开发利器 StreamPark 的介绍、安装、使用

【Apache-StreamPark】Flink 开发利器 StreamPark 的介绍、安装、使用 1&#xff09;框架介绍与引入1.1.&#x1f680; 什么是 StreamPark1.2.&#x1f389; Features1.3.&#x1f3f3;‍&#x1f308; 组成部分1.4.引入 StreamPark 2&#xff09;安装部署2.1.环境要求2.2.Hado…

linux系统和网络(一):文件IO

本文主要探讨linux系统编程的文件IO相关知识。 文件IO 文件存在块设备中为静态文件,open打开文件,内核在进程中建立打开文件的数据结构在内存中用于记录文件的文件参数,开辟一段内存用于存放内容,将静态文件转为动态文件 打开文件后对文件的读写操作都为对动态…

机器学习——支持向量机

目录 一、基于最大间隔分隔数据 二、寻找最大间隔 1. 最大间隔 2. 拉格朗日乘子法 3. 对偶问题 三、SMO高效优化算法 四、软间隔 五、SMO算法实现 1. 简化版SMO算法 2. 完整版SMO算法 3. 可视化决策结果 六、核函数 1. 线性不可分——高维可分 2. 核函数 …