RabbitMQ启动配置中出现(ArgumentError) argument error xxx的错误

  1. 最近在安装RabbitMQ中,输入rabbitmqctl status后出现这样的错误

Status of node rabbit@Desktopxxxxx
** (ArgumentError) argument error
(stdlib) io_lib.erl:170: :io_lib.format(' * effective user's home directory: sn', [[67, 58, 92, 85, 115, 101, 114, 115, 92, 37329, 20108, 33804]])
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

网上查阅后发现是win的账户是中文名导致的错误,需要将中文名修改成英文名。参考的是这篇文章的方法修改。

https://blog.csdn.net/weixin_39112840/article/details/8635113

  1. 一般情况下1操作后RabbitMQ是不会载出问题的,然鹅,我再输入rabbitmqctl status后又出现了这样的报错

Status of node rabbit@DESKTOP-xxxxxx ...

Error: unable to perform an operation on node 'rabbit@DESKTOP-xxxxxx'. Please see diagnostics information and suggestions below.

Most common reasons for this are:

* Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)

* CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)

* Target node is not running

In addition to the diagnostics info below:

* See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more

* Consult server logs on node rabbit@DESKTOP-ECFDCQB

DIAGNOSTICS

===========

attempted to contact: ['rabbit@DESKTOP-xxxxxx']

rabbit@DESKTOP-xxxxxxxx:

* connected to epmd (port 4369) on DESKTOP-xxxxxxx

* epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic

* TCP connection succeeded but Erlang distribution failed

* Authentication failed (rejected by the remote node), please check the Erlang cookie

Current node details:

* node name: 'rabbitmqcli80@DESKTOP-xxxxxx'

* effective user's home directory: C:Users racyclock

* Erlang cookie hash: Gue+A5xaV3AGwaGPZAEp3A==

解决方法有两种:

  • (1) 将 C:UsersAdministrator下的erlang.cookie文件 替换C:WindowsSystem32configsystemprofile下的erlang.cookie 文件,然后再重启服务
  • (2) 将RabbitMQ的登录账户由本地账户设为当前登录的用户,然后再重启服务,详情请见这篇博文https://blog.csdn.net/dear_Alice_moon/article/details/79466568

试过上述的方法后,重启服务后还是报第二种错误。于是我又看了一下安装路径,发现我的安装路径是D:Program FilesRabbitMQ server.....我就想要不试一下换个路径安装,之后直接在D盘根目录D:RabbitMQ server安装,居然成功了!!!

后面又查了一下,发现报错的原因是安装路径中有空格,但是一般安装RabbitMQ的时候默认是C:Program Files...神坑,所以安装的时候一定要注意修改安装路径!不要有中文或者空格的目录。。。

原文地址:https://www.cnblogs.com/EthanWong/p/13166693.html