艰辛的学习之路——错误:Status of node rabbit@LAPTOP-FMKQB7DT ... ** (ArgumentError) argument error (stdlib)

引言

在学习Spring Cloud Stream 时需要配置消息生产者, 消息消费者,把他们绑定到一个消息通道上面,需要用到的时 Rabbit MQ 然而小编没有学习过 RabbitMQ 也就没有 Rabbit MQ Server ,也不能将他们绑定到一起了, 因此需要进行rabbitmq server 的安装和配置。 但是谁能想到一个如此简单的过程却遇到了一个很大脑阔的问题,花费了3小时才解决。

环境

1.安装目录:

下面是我的安装目录: 没有中文路径
在这里插入图片描述

2.环境变量

RabbitMQ Server 的系统环境变量:
在这里插入图片描述
Path 系统环境变量里面的就省略了,

3.服务

这是目前我的Rabbit MQ 服务, 因为问题已经解决了,这时是正常启动的, 没有解决这个问题时,服务时无法启动的一直显示停止状态
在这里插入图片描述

错误

错误代码:这是 187 的错误:

Status of node rabbit@LAPTOP-FMKQB7DT ...
** (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, 24352, 22686, 31168]])
    src/rabbit_misc.erl:668: :rabbit_misc."-format_many/1-lc$^0/1-0-"/1
    src/rabbit_misc.erl:668: :rabbit_misc."-format_many/1-lc$^0/1-0-"/1
    src/rabbit_misc.erl:668: :rabbit_misc.format_many/1
    (rabbitmqctl) lib/rabbitmqctl.ex:349: RabbitMQCtl.get_node_diagnostics/1
    (rabbitmqctl) lib/rabbitmqctl.ex:307: RabbitMQCtl.format_error/3
    (rabbitmqctl) lib/rabbitmqctl.ex:43: RabbitMQCtl.main/1
    (elixir) lib/kernel/cli.ex:105: anonymous fn/3 in Kernel.CLI.exec_fun/2

错误截图: 使用 rabbitmqctl status 命令查看当前的 rabbitmq server 发现的异常状态:

原因

错误原因:

1.先检查自己RabbitMQ的安装路径是否有中文、空格或特殊字符

2.RabbitMQ默认提供的安装路径有空格,千万注意!!!

3.如果安装目录无误,仍然报错187。查看自己的用户名是否是中文的

解决

根据以上分析的三个原因,进行一个一个的摸排:

  • 第一个: rabbitmq server 路径有中文, 空格, 特殊符号等, 中文路径就换先卸载, 然后在重新安装到么有没有中文路径的文件夹下,空格和特殊符号等, 就修改路径或者文件夹名称,之后千万记得要修改对应的环境变量的值
  • 第二个:同理第一个,
  • 第三个:对于用户名是中文或者含有中文的用户,是因为如果默认的安装,rabbitmq 服务会将日志写入到用户user 目录下, 含有中文就完蛋了,因此,我们需要修改ribbitmq 服务的日志log,db, 等文件夹的位置为不含中文的路径:步骤如下:

1.先卸载掉原来的 rabbitmq server
2.在系统环境变量中创建一个 RABBITMQ_BASE 的变量,值为一个英文路径
在这里插入图片描述
3.重新安装rabbitmq server 到这个目录下:会发现db 和 log 文件都到了这个目录下,
在这里插入图片描述
4.重新查看rabbitmq 的服务状态

rabbitmqctl status

像这个样大概就没问题了,然后
在这里插入图片描述
5.状态没有问题就直接安装插件, 然后启动:

rabbitmq-plugins enable rabbitmq_management

启动服务:可以通过命令行, 也可以通过双击安装目录的sbin 目录下的rabbitmq-server.bat 来启动服务:
在这里插入图片描述

net start RabbitMQ

6.打开 服务 面板进行验证,服务启动之后, 打开网址访问:http://localhost:15672/
在这里插入图片描述

在这里插入图片描述
到此就结束了, 这个大脑阔的问题。

总结

总的来说在遇到这个问题的时候,我首先是一顿百度, 结果毫无可用的信息, 网上根本没有遇到最开始的百度错误,后来找到了rabbit mq 的日志文件所在的位置, 查看日志文件后进行百度,发现也是无果, 最后尝试多使用一些命令, 发现了 rabbitmqctl status 这条救命的命令,直接运行得出了对应的 187 错误提示, 然后才能得以解决,
百度的东西很多, 但你要会百度,会看日志, 会读错误异常

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值