【问题标题】:RabbitMQ Wont Enable management PluginRabbitMQ 不会启用管理插件
【发布时间】:2020-04-10 18:58:45
【问题描述】:
C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>
rabbitmq-plugins.bat enable rabbitmq-management


The directory name is invalid.
The filename, directory name, or volume label syntax is incorrect.
** (MatchError) no match of right hand side value: {:error, {:node_name, 
:hostname_not_allowed}}
    (rabbitmqctl) lib/rabbitmq/cli/core/helpers.ex:32: 
RabbitMQ.CLI.Core.Helpers.normalise_node/2
(rabbitmqctl) lib/rabbitmqctl.ex:232: RabbitMQCtl.merge_defaults_node/1
(rabbitmqctl) lib/rabbitmqctl.ex:225: RabbitMQCtl.merge_all_defaults/1
(rabbitmqctl) lib/rabbitmqctl.ex:103: RabbitMQCtl.exec_command/2
(rabbitmqctl) lib/rabbitmqctl.ex:45: RabbitMQCtl.main/1
(elixir) lib/kernel/cli.ex:105: anonymous fn/3 in Kernel.CLI.exec_fun/2

我在尝试启用管理时收到此错误。我试过重新安装rabbitmq和erlang。我试过设置环境变量。似乎没有任何效果。它在 windows server 2016、otp_win64_21.3 和 rabbitmq-server-3.7.14 上运行

更新:

我尝试将服务器重命名为全部大写,全部小写,并且没有破折号......这些都没有帮助。服务器当前命名为“SQL01-Dev”和“sql01-live”

更新 2:

我已经使用节点名称运行了命令,但它没有任何效果。我确实注意到环境变量和主机名命令之间的主机名大小写不同。这是我的命令行输出:

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>rabbitmq- 
plugins.bat -n rabbit@SQL01-dev enable rabbitmq_management
The directory name is invalid.
The filename, directory name, or volume label syntax is incorrect.
** (MatchError) no match of right hand side value: {:error, {:node_name, 
:hostname_not_allowed}}
(rabbitmqctl) lib/rabbitmq/cli/core/helpers.ex:32: RabbitMQ.CLI.Core.Helpers.normalise_node/2
(rabbitmqctl) lib/rabbitmqctl.ex:232: RabbitMQCtl.merge_defaults_node/1
(rabbitmqctl) lib/rabbitmqctl.ex:225: RabbitMQCtl.merge_all_defaults/1
(rabbitmqctl) lib/rabbitmqctl.ex:103: RabbitMQCtl.exec_command/2
(rabbitmqctl) lib/rabbitmqctl.ex:45: RabbitMQCtl.main/1
(elixir) lib/kernel/cli.ex:105: anonymous fn/3 in Kernel.CLI.exec_fun/2

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>Hostname
SQL01-dev

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>echo %COMPUTERNAME%
SQL01-DEV

更新 3

我已经删除了@Echo Off 行。这是输出:

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM @echo off

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  The 
contents of this file are subject to the Mozilla Public License

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  Version 
1.1 (the "License"); you may not use this file except in

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  compliance 
with the License. You may obtain a copy of the License

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  at 
http://www.mozilla.org/MPL/

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  Software 
distributed under the License is distributed on an "AS IS"

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  basis, 
WITHOUT WARRANTY OF ANY KIND, either express or implied. See

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  the 
License for the specific language governing rights and

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  
limitations under the License.

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  The 
Original Code is RabbitMQ.

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  The 
Initial Developer of the Original Code is GoPivotal, Inc.

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM  Copyright 
(c) 2007-2015 Pivotal Software, Inc.  All rights reserved.

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>setlocal

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>rem Preserve values that might contain exclamation marks before

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>rem enabling delayed expansion

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>set TDP0=C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin\

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>set STAR=enable RabbitMQ-Management

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>setlocal enabledelayedexpansion

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM Get default settings with user overrides for (RABBITMQ_)<var_name>

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>REM Non-empty defaults should be set in rabbitmq-env

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>call 
"!TDP0!\rabbitmq-env.bat" rabbitmq-plugins
The directory name is invalid.
The filename, directory name, or volume label syntax is incorrect.
** (MatchError) no match of right hand side value: {:error, {:node_name, 
:hostname_not_allowed}}
    (rabbitmqctl) lib/rabbitmq/cli/core/helpers.ex:32: 
RabbitMQ.CLI.Core.Helpers.normalise_node/2
(rabbitmqctl) lib/rabbitmqctl.ex:232: RabbitMQCtl.merge_defaults_node/1
(rabbitmqctl) lib/rabbitmqctl.ex:225: RabbitMQCtl.merge_all_defaults/1
(rabbitmqctl) lib/rabbitmqctl.ex:103: RabbitMQCtl.exec_command/2
(rabbitmqctl) lib/rabbitmqctl.ex:45: RabbitMQCtl.main/1
(elixir) lib/kernel/cli.ex:105: anonymous fn/3 in Kernel.CLI.exec_fun/2

C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.14\sbin>

更新 4:

如果我使用本地帐户登录,我可以启动和配置服务器。然而,当 rabbitmq_management 启用时,端口 15672 上仍然没有任何监听。此外,我的开发机器没有使用本地登录,但它对一切都很好。我已经比较了两个系统的 Set 命令的输出,我能看到的唯一区别是我的开发机器有一些额外的变量,比如 java。没有我认为 RabbitMQ 需要的东西。我仍然没有看到工作环境和非工作环境之间的主要区别。如果它从本地帐户运行,我还没有测试我是否可以真正连接到 MQ 服务器,但无论如何我们都需要能够使用域登录来管理服务器......

【问题讨论】:

  • hostname_not_allowed - hostname 命令的输出是什么?
  • @LukeBakken SQL01-dev。该服务器也是我们的主要 sql 服务器。它不允许破折号吗?
  • 破折号应该没问题,但是节点名称的确定方式有些问题。尝试运行 rabbitmq-plugins.bat -n rabbit@SQL01-dev enable rabbitmq_management. Also, check to see if the COMPUTERNAME` 环境变量与 hostname 的输出不同
  • @LukeBakken 我确实注意到了不同。查看我的更新。
  • 我在您的输出中看到了一些其他可疑错误,例如 The directory name is invalid.The filename, directory name, or volume label syntax is incorrect. 您能否打开“RabbitMQ 命令提示符(sbin dir)”开始菜单项,运行 set 命令,然后提供一个要点的输出?我是 RabbitMQ 的维护者之一,经常在 Windows 上测试,从来没有遇到过这个问题。

标签: rabbitmq


【解决方案1】:

使用管理权限打开“RabbitMQ 命令提示符(sbin dir)”终端,运行: 在出现无效路径错误之前

请检查您的窗口防御防火墙应用程序或功能设置如下:
1.在window search上写下“window defender firewall”
2. 单击“允许应用程序或功能通过 Windows Defender 防火墙”
3. 点击“更改设置”
4. 检查 epdm 和 erl 的设置,它应该是 (Domain=true; private:true and public = true)
5.点击“确定”

请运行以下命令:

set HOMEDRIVE=C: 
rabbitmq-service.bat stop
rabbitmq-service.bat uninstall
rabbitmq-service.bat install
rabbitmq-service.bat start
rabbitmq-plugins.bat enable rabbitmq_management

【讨论】:

    猜你喜欢
    • 2017-09-19
    • 1970-01-01
    • 2020-11-20
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多