首页 > 解决方案 > RabbitMQ 不会启用管理插件

问题描述

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 服务器,但无论如何我们都需要能够使用域登录来管理服务器......

标签: rabbitmq

解决方案


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

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

请运行以下命令:

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

推荐阅读