当前位置: 首页 > news >正文

windows环境下安装RabbitMQ

一、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 提供了许多插件,来从多方面进行扩展,也可以编写自己的插件。

二、安装准备工具
1.下载Eralng,下面链接已提供otp_win64_20.2.exe
链接: https://pan.baidu.com/s/1lmvCMPVAV1Ba9UogCdQpZg
提取码:x9m7
2.下载rabbitmq,下面链接已提供rabbitmq-server-3.7.4.exe
链接: https://pan.baidu.com/s/1CPfhg5X1e7UitpgMWIcAEg
提取码:h4r3

三、安装步骤(图文)
1、安装erlang并配置环境变量
1.1 双击otp_win64_20.2.exe,点击next

1.3 配置环境变量
新建系统变量名为:ERLANG_HOME 变量值为erlang安装地址

ERLANG_HOME   路径:E:\Program Files\erl9.2

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

%ERLANG_HOME%\bin

 

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

2、安装RabbitMQ

2.1 双击下载后的.exe文件,安装过程与erlang的安装过程相同。
2.2 安装RabbitMQ-Plugins
打开命令行cd,输入RabbitMQ的sbin目录。
我的目录是:

E:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.4\sbin

然后输入以下命令进行安装

rabbitmq-plugins enable rabbitmq_management

2.3 验证rabbitmq是否安装成功
输入 以下命令

rabbitmqctl status

如果出现以下的图,说明安装是成功的,并且说明现在RabbitMQ Server已经启动了,运行正常

打开浏览器,地址栏输入mq访问地址,即可看到管理界面的登陆页

http://127.0.0.1:15672 

四、安装过程中遇到的问题
1、出现 Authentication failed (rejected by the remote node), please check the Erlang cookie
如果改完cookie没生效,重启一下电脑,清除cookie缓存,获取最新修改的cookie,即可解决该问题

解决办法:

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

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

  

2、报错:Status of node rabbit@ … ** (ArgumentError) argument error (stdlib)

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

这个本机用户名要是英文

3、主机名原来为中文,改为英文后执行rabbitmqctl status报错, * connected to epmd (port 4369) on DESKTOP-AJ0N…suggestion: start the node
报错信息如下:

epmd reports: node ‘rabbit’ not running at all
no other nodes on DESKTOP-AJ0N
suggestion: start the node

解决办法:
执行以下命令,重新安装rabbit-mq

rabbitmq-service remove
rabbitmq-service install
#如果上述命令不行,执行
rabbitmq-server start 

4、报错"start_error, failed_to_start_child", 原因:rabbitmq和erlang版本不一致

rabbitmq和erlang版本对应关系如下:

https://www.rabbitmq.com/which-erlang.html

  

5、Distribution failed: {{:shutdown, {:failed_to_start_child, :net_kernel, {:EXIT, :nodistribution}}}, {:child, :undefined, :net_sup_dynamic, {:erl_distribution, :start_link, [[:rabbitmqcli67, :shortnames], false]}, :permanent, 1000, :supervisor, [:erl_distribution]}}
检查rabbitmq 服务的日志db、log 等文件夹的路径是否含有中文,检查本机的用户名是否为中文(存在中文会出现下面的报错)

相关文章:

windows环境下安装RabbitMQ

一、RabbitMq简介1.1消息队列中间件简介消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性[架构] 使用较多的消息队列有 ActiveMQ(安全)&#x…...

Java源码规则引擎:jvs-rules决策流的自定义权限控制

规则引擎用于管理和执行业务规则。它提供了一个中央化的机制来定义、管理和执行业务规则,以便根据特定条件自动化决策和行为。规则引擎的核心概念是规则。规则由条件和动作组成。条件定义了规则适用的特定情况或规则触发的条件,而动作定义了规则满足时要…...

Python-字符串的世界

Python字符串的世界 在Python编程中,字符串(String)是一种非常重要的数据类型,用于表示文本信息。字符串可以包含字母、数字、特殊字符以及空格,它们在编程中被广泛用于文本处理、格式化输出、字符串匹配等各种场景。…...

使用上 Spring 的事件机制

本文主要是简单的讲述了Spring的事件机制,基本概念,讲述了事件机制的三要素事件、事件发布、事件监听器。如何实现一个事件机制,应用的场景,搭配Async注解实现异步的操作等等。希望对大家有所帮助。 Spring的事件机制的基本概念 …...

Linux安装QT

//进入qt安装包路径 cd qt安装包路径 //修改权限 sudo chmod x qt-opensource-linux-x64-5.14.2.run //运行qt安装包 sudo ./qt-opensource-linux-x64-5.14.2.run //安装编译器 sudo apt-get install gcc g //安装编译工具 sudo apt-get install build-essential //安装Op…...

如何用arduino uno主板播放自己想要的曲子。《我爱你中国》单片机版本。

目录 一.效果展示 二.基本原理 三.电路图 四.代码 一.效果展示 arduino播放《我爱你中国》 二.基本原理 利用arduino uno单片机实现对蜂鸣器振动频率的调节,基于PWM控制系统通过代码实现控制。 三.电路图 四.代码 //main.uno #define Buzzer 2int PotBuffer …...

redis入门2-命令

Redis的基本数据类型 redis的基本数据类型(value): string,普通字符串 hash(哈希),适合存储对象 list(列表),按照插入顺序排序,可以由重复的元素 set(无序集合),没有重复的元素 sorted set(有序集合)&…...

Typescript 枚举类型

枚举是用来表示一组明确的可选值列表 // enum是枚举类型的关键字 //枚举如果不设置值,默认从0开始 enum Direction {Up, // 0 Down, // 1 Left, // 2Right // 3} //如果给第一个值赋值为100,则第二、第三第四个都会在第一个的基础上1 分别是101,102…...

docker小记-容器中启动映射端口号但访问不到

在docker容器中是每一个容器隔离分开的。 每个容器视为一个独立的环境,当在外部环境访问不到的时候就是说明端口号还是没映射到。 之前使用的映射说白了就是将docker中的独立的ip地址端口号映射到主机的ip地址和端口号。这一步没有成功。 docker inspect 容器名 …...

Java中的Map常见使用案例代码

以下是一些Java中Map的常见使用案例和具体代码实现&#xff1a; Map的遍历 Map<String, Integer> map new HashMap<>(); map.put(“apple”, 10); map.put(“banana”, 20); map.put(“orange”, 30); // 遍历方式一&#xff1a;使用entrySet()方法遍历 for (M…...

计算机视觉实验:图像处理综合-路沿检测

目录 实验步骤与过程 1. 路沿检测方法设计 2. 路沿检测方法实现 2.1 视频图像提取 2.2 图像预处理 2.3 兴趣区域提取 2.4 边缘检测 ​​​​​​​2.5 Hough变换 ​​​​​​​2.6 线条过滤与图像输出 3. 路沿检测结果展示 4. 其他路沿检测方法 实验结论或体会 实…...

Linux环境下VS code的python与C++调试环境的安装

Linux环境下VS code的python与C调试环境的安装 文章目录 Linux环境下VS code的python与C调试环境的安装前言一、云服务器的环境二、VS code相关信息三、python 开发环境配置四、C开发环境配置1.测试main.cpp2.进行debug3.进行debug程序4.运行main.cpp程序步骤 前言 最近写的 C&…...

AlexNet卷积神经网络-笔记

AlexNet卷积神经网络-笔记 AlexNet卷积神经网络2012年提出 测试结果为&#xff1a; 通过运行结果可以发现&#xff0c; 在眼疾筛查数据集iChallenge-PM上使用AlexNet&#xff0c;loss能有效下降&#xff0c; 经过5个epoch的训练&#xff0c;在验证集上的准确率可以达到94%左右…...

剑指 Offer 53 - I. !!在排序数组中查找数字 I (考查二分法)

剑指 Offer 53 - I. 在排序数组中查找数字 I 统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums [5,7,7,8,8,10], target 8 输出: 2 示例 2: 输入: nums [5,7,7,8,8,10], target 6 输出: 0 提示&#xff1a; 0 < nums.length < 105 -109 < nums[i] &l…...

RANSAC算法在Python中的实现与应用探索:线性拟合与平面拟合示例

第一部分:RANSAC算法与其应用 在我们的日常生活和多个领域中,如机器学习,计算机视觉,模式识别等,处理数据是一个非常重要的任务。尤其是当我们需要从嘈杂的数据中获取信息或拟合模型时。有时候,数据可能包含异常值或噪声,这可能会对我们的结果产生重大影响。为了解决这…...

PHP接口自动化测试框架实现

我们来看一个简单的PHP实现的超简单的接口。 ...//报名验证 private function apply_verify() {$raid $this->input->get_post(raid);$mid $this->input->get_post(mid);if (!$raid || !$mid) {$this->ret_json(10021, 参数错误);}$this->load->model(…...

VLAN原理+配置

目录 一&#xff0c; 以太网二层交换机 二&#xff0c;三层架构&#xff1a; 三&#xff0c;VLAN配置思路 1.创建vlan 2.接口划入vlan 3.trunk干道 4.vlan间路由器 5.DHCP池塘配置 四&#xff0c;华为VLAN部分的接口模式讲解&#xff1a; 五&#xff0c;华为VLAN部分的…...

MongoDB文档-基础使用-在客户端(dos窗口)/可视化工具中使用MongoDB基础语句

阿丹&#xff1a; 本文章将描述以及研究mongodb在客户端的基础应用以及在spring-boot中整合使用mongodb来完成基本的数据增删改查。 先放官方的文章 MongoDB CRUD操作 - MongoDB-CN-Manual 本文章分为&#xff1a; 在客户端&#xff08;dos窗口&#xff09;/可视化工具中使用…...

“RISC-V成长日记” blog发布,第一个运行在RISC-V服务器上的blog?

尽管推特、公众号、微博、抖音等社交平台风靡一时&#xff0c;但blog&#xff08;博客&#xff09;在全世界依然经久不衰&#xff0c;尤其是在技术领域。对于博主而言&#xff0c;博客是他们独立创作的天地&#xff0c;可以随时更新内容和故事&#xff0c;确保素材的时效性。此…...

gitlab配置webhook

一.前言 当需要做jenkins的自动化触发构建时&#xff0c;就需要配置gitlab的webhook功能&#xff0c;以下来展示以下如何配置gitlab的webhook&#xff0c;jenkins的配置就不在这里展示了&#xff0c;可以去看我devops文章的完整配置 二.配置 在新版本的gitlab中&#xff0c…...

UE5: 解密Actor Tick的注册时机与执行流程

1. 从“Tick”说起&#xff1a;为什么我们需要关心它&#xff1f; 如果你用过UE5&#xff0c;哪怕只是新建一个空白项目&#xff0c;放一个立方体进去&#xff0c;大概率也见过“Tick”这个词。在蓝图的“事件”图表里&#xff0c;那个每帧自动执行的“Event Tick”节点&#x…...

如何用飞牛云NAS低成本搭建个人博客?Docker+WordPress实战分享

飞牛云NASDockerWordPress&#xff1a;零基础打造高性价比个人博客全指南 在数字化表达日益重要的今天&#xff0c;拥有一个专属博客已成为个人品牌建设、知识分享甚至商业拓展的标配。但传统建站方案往往面临两大痛点&#xff1a;要么成本高昂&#xff08;云服务器专业运维&am…...

C99与C11模式下解决for循环初始化声明错误的实用指南

1. 为什么你的for循环会报错&#xff1f; 最近有个朋友在用CodeBlocks写C代码时遇到了一个奇怪的错误。他在for循环里声明变量时&#xff0c;编译器直接报错&#xff1a;"[Error] for loop initial declarations are only allowed in C99 or C11 mode"。这让他很困惑…...

终极指南:如何高效使用Audio Slicer实现智能音频分割

终极指南&#xff1a;如何高效使用Audio Slicer实现智能音频分割 【免费下载链接】audio-slicer A simple GUI application that slices audio with silence detection 项目地址: https://gitcode.com/gh_mirrors/aud/audio-slicer 你是否曾为处理长音频文件而烦恼&…...

哪家血清内毒素含量极低、适合敏感原代细胞培养

原代细胞直接提取自生物组织&#xff0c;保留了大量的体内生理特征&#xff0c;但也因此对体外培养中的外源性抑制因子展现出极高的敏感性。内毒素作为细菌代谢的副产物&#xff0c;即便在极低浓度下也可能诱导原代细胞产生应激反应。针对敏感细胞系的培养&#xff0c;实验室对…...

HappyHorse 1.0:超越Seedance2.0成为黑马

在昨天晚上AI视频圈&#xff0c;突然爆火的HappyHorse 1.0被各种刷屏&#xff0c;超越了Seedance2.0、Kling3.0登顶榜首&#xff0c;榜单是出自目前AI界公认最权威的测评网站Artificial Analysis。它们都在做视频生成&#xff0c;到底有什么不同之处呢&#xff0c;这篇文章告诉…...

终极免费文档下载神器:一键获取30+平台完整资料指南

终极免费文档下载神器&#xff1a;一键获取30平台完整资料指南 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为了解决…...

SDMatte开源大模型部署教程:无需代码,5分钟启动本地AI抠图Web服务

SDMatte开源大模型部署教程&#xff1a;无需代码&#xff0c;5分钟启动本地AI抠图Web服务 1. 什么是SDMatte&#xff1f; SDMatte是一款专注于高质量图像抠图的AI模型&#xff0c;特别擅长处理那些传统抠图工具难以应对的复杂场景。想象一下&#xff0c;你需要把一只透明玻璃…...

Retrieval-based-Voice-Conversion-WebUI:AI语音转换的终极完整指南

Retrieval-based-Voice-Conversion-WebUI&#xff1a;AI语音转换的终极完整指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrieval-based-…...

如何高效使用网盘直链下载工具:告别限速的全能解决方案

如何高效使用网盘直链下载工具&#xff1a;告别限速的全能解决方案 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 &#xff0c;支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼…...