Windows环境下RabbitMQ安装报错

现实情况

报错如下

在这里插入图片描述

解决如下

// 移除服务 
rabbitmq-service.bat remove
// 变更数据所在的文件位置,不包含中文
set RABBITMQ_BASE=F:\developApp\ruanjian\RabbitMQ Server\rabbitmq_server-3.8.35\data
rabbitmq-service.bat install
rabbitmq-plugins enable rabbitmq_management

//运行
rabbitmq-server.bat
或者
rabbitmqctl start_app

1 中文路径异常

1 安装时出现的问题

安装之后,打开安装目录的 sbin 目录 RabbitMQ Server\rabbitmq_server-3.8.35\sbin,打开 cmd,执行命令

rabbitmqctl status 或者 rabbitmqctl start_app

出现以下问题:

** (ArgumentError) argument error
    (stdlib) io_lib.erl:187: :io_lib.format(' * effective user\'s home directory: ~s~n', [[67, 58, 92, 85, 115, 101, 114, 115, 92, 29579, 30427]])
    src/rabbit_misc.erl:719: :rabbit_misc."-format_many/1-lc$^0/1-0-"/1
    src/rabbit_misc.erl:719: :rabbit_misc."-format_many/1-lc$^0/1-0-"/1
    src/rabbit_misc.erl:719: :rabbit_misc.format_many/1
    (rabbitmqctl) lib/rabbitmqctl.ex:553: RabbitMQCtl.get_node_diagnostics/1
    (rabbitmqctl) lib/rabbitmqctl.ex:409: RabbitMQCtl.format_error/3
    (rabbitmqctl) lib/rabbitmqctl.ex:584: RabbitMQCtl.maybe_with_distribution/3
    (rabbitmqctl) lib/rabbitmqctl.ex:93: RabbitMQCtl.exec_command/2

:badarg

或者执行 rabbitmq-server.bat 出现以下问题:

BOOT FAILED
===========
Error during startup: {error,
                       {rabbitmq_management_agent,
                        {{shutdown,
                          {failed_to_start_child,rabbit_mgmt_agent_sup,
                           {shutdown,
                            {failed_to_start_child,
.....

2 原因

原因一:安装路径中不能带有中文和空格

原因二:
RabbitMQ默认的数据文件位置在 C:\Users\用户名AppData\Roaming\RabbitMQ
若安装路径无问题,那么有可能是因为数据文件路径中 用户名 为中文导致的

3 解决思路(这个有效)

直接修改计算机的用户名:
参考 Win10如何更改C:\Users\下的用户名

用户名修改过于麻烦,尝试通过修改 RabbitMQ 的默认数据文件路径解决:

下面命令一条一条执行

// 移除服务 
rabbitmq-service.bat remove    
// 变更数据所在的文件位置,不包含中文
set RABBITMQ_BASE=G:\6CodingSoftware\RabbitMQ\rabbitmq_server-3.8.9\data
rabbitmq-service.bat install
rabbitmq-plugins enable rabbitmq_management
rabbitmqctl start_app  或者 rabbitmq-server.bat

在这里插入图片描述

在这里插入图片描述

在data文件夹下出现以下的内容就说明设置成功

在这里插入图片描述

上述情况没有根本解决问题。因为每次启动都需要重复运行上面的命令

如果直接执行 rabbitmq-server.bat 还是原来默认的数据文件路径,而不是修改之后的,并且会报错

在这里插入图片描述

所以需要 修改 rabbitmq-env.bat 文件,设置默认的数据文件路径

(我设置默认的数据文件路径没有用,如果嫌一条一条命令执行比较麻烦,可以编写 bat 文件,内容如下:)

start cmd /k "cd /d F:\developApp\ruanjian\RabbitMQ Server\rabbitmq_server-3.8.35\sbin 
& rabbitmq-service.bat remove 
& set RABBITMQ_BASE=F:\xxx\RabbitMQ Server\rabbitmq_server-3.8.35\data
& rabbitmq-service.bat install 
& rabbitmq-plugins enable rabbitmq_management 
& rabbitmq-server.bat"

注意 rabbitmq_server-3.8.35\data& 之间不可以有空格,否则识别路径报错

4 解决方法(我设置无效)

修改 rabbitmq-env.bat 文件,设置默认的数据文件路径

在这里插入图片描述


set ERL_PATH=
set ERL_DIRNAME=
后插入 set RABBITMQ_BASE=!RABBITMQ_HOME!/data

然后执行命令

rabbitmq-service.bat remove
rabbitmq-service.bat install
rabbitmq-plugins enable rabbitmq_management
rabbitmq-server

之后启动 RabbitMQ ,只需要直接运行 rabbitmq-server.bat

2 版本不符异常

若出现以下报错,有可能是 erlang 与 rabbitmq 版本不符异常

{"init terminating in do_boot",{error,{rabbitmq_management_agent,{{
[{error_info,#{module=>erl_erts_errors}}]},{rabbit_mgmt_external_stats,'-i/2-lc$^0/1-0-',1,[{file,"src/rabbit_mgmt_external_stats.erl"}

在这里插入图片描述

更加详细的可以通过 RabbitMq 的官网来查看: https://www.rabbitmq.com/which-erlang.html

3 找不到ERLANG_HOME

报错如下:
ERLANG_HOME not set correctly

解决方法一

编辑 rabbitmq_server.bat 文件

在这里插入图片描述

直接改成了绝对路径 :

"D:\Program Files\erl9.3\bin\erl.exe" 

解决方法二

如果觉得不应该更改安装源自身的代码

增加环境变量

ERLANG_HOME=D:\Program Files\erl9.3

这里的目录是我的安装目录,你要换成自己的目录

修改环境变量Path,在原来的值后面加上

%ERLANG_HOME%\bin

打开cmd,输入 erl 能正常显示版本即成功加入系统环境中

在这里插入图片描述
配置后电脑需要重启

然后重新执行 rabbitmq-plugins enable rabbitmq_management

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值