我正在设置 Windows Server 2022,安装了最新的可用 RabbitMQ 和 Erlang OTP。
我可以正常安装,没有任何问题。 但是当其他管理员想要使用rabbitMQ时,他们却不能。 访问Rabbit的管理员都是域管理员和本地管理员
问题是,它只会运行并接受来自安装它的用户的命令。 您无法从任何其他用户登录rabbit。
你们知道解决办法吗?
3 名管理员,花费 3 天的时间进行谷歌搜索,并重新加载服务器模板,以全新安装 Windows 并能够安装rabbitMQ
您没有提供足够的信息来明确诊断问题,但我可以猜测发生了什么。当您报告任何软件的问题时,您至少应包含以下信息:
但是当其他管理员想要使用rabbitMQ时,他们却不能。访问Rabbit的管理员都是域管理员和本地管理员。问题是,它只会运行并接受来自安装它的用户的命令。您无法从任何其他用户登录rabbit。
我假设“运行并接受命令”是指运行
rabbitmqctl.bat
、rabbitmq-plugins.bat
等命令。
我假设当您以安装 RabbitMQ 的用户以外的用户身份运行这些命令之一时,您会收到一条错误消息。看到这条消息会很有帮助,但它可能是这样的:
Error: unable to perform an operation on node 'rabbit@bakkenl-z01'. 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 https://rabbitmq.com/documentation.html to learn more
* Consult server logs on node rabbit@bakkenl-z01
* If target node is configured to use long node names, don't forget to use --longnames with CLI tools
DIAGNOSTICS
===========
attempted to contact: ['rabbit@bakkenl-z01']
rabbit@bakkenl-z01:
* connected to epmd (port 4369) on bakkenl-z01
* epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic
* TCP connection succeeded but Erlang distribution failed
* suggestion: check if the Erlang cookie is identical for all server nodes and CLI tools
* suggestion: check if all server nodes and CLI tools use consistent hostnames when addressing each other
* suggestion: check if inter-node connections may be configured to use TLS. If so, all nodes and CLI tools must do that
* suggestion: see the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more
Current node details:
* node name: 'rabbitmqcli-344-rabbit@bakkenl-z01'
* effective user's home directory: c:/Users/bakkenl
* Erlang cookie hash: jhLS9kOjafo57g5JmVFgbQ==
输出为您提供了大量有关可能发生的情况的信息。这是相关行:
- CLI 工具无法通过服务器进行身份验证(例如,由于 CLI 工具的 Erlang cookie 与服务器的不匹配)
Erlang VM 使用“cookie”文件来验证与其的连接。当您安装并启动 RabbitMQ 时,会在本地系统帐户的配置文件目录中创建一个 cookie 文件,该目录通常为
C:\Windows\system32\config\systemprofile\.erlang.cookie
(记录于此处)。
您应该将该文件复制到每个希望使用
rabbitmqctl.bat
和其他命令来管理 RabbitMQ 的用户的主目录。如果您仍然遇到类似我上面提供的错误,请仔细检查您是否准确地复制了文件。校验和是确认的最佳方式:
> Get-FileHash -Path .\.erlang.cookie -Algorithm SHA256
Algorithm Hash Path
--------- ---- ----
SHA256 00939061A448E102D386FF0D9F05910356B352322A446C5169AB3687E8C970E4 C:\Users\bakkenl\.erlang.cookie
如果您仍然遇到问题,请提供所有必要的信息并将您的问题发布到 RabbitMQ 的官方免费支持渠道之一: