首页 > 解决方案 > 启用rabbitmq-management后无法启动rabbitmq-server

问题描述

我已经安装了 Erlang 和 rabbitmq。之后启动服务

$ sudo systemctl start rabbitmq-server $ systemctl status rabbitmq-server ● rabbitmq-server.service - RabbitMQ broker Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2018-10-19 10:50:10 CEST; 13s ago Main PID: 46976 (beam.smp) CGroup: /system.slice/rabbitmq-server.service ├─46976 /usr/lib64/erlang/erts-5.10.4/bin/beam.smp -W w -K true -A30 -P 1048576 -- -root /usr/li... ├─47073 inet_gethost 4 └─47075 inet_gethost 4

然后我启用了rabbitmq-management,并更改了所有权

$ sudo rabbitmq-plugins enable rabbitmq_management The following plugins have been enabled: mochiweb webmachine rabbitmq_web_dispatch amqp_client rabbitmq_management_agent rabbitmq_management Plugin configuration has changed. Restart RabbitMQ for changes to take effect. $ sudo chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/ 比创建用户,标记他并设置权限

$ sudo rabbitmqctl add_user admin password! Creating user "admin" ... ...done. $ sudo rabbitmqctl set_user_tags admin administrator Setting tags for user "admin" to [administrator] ... ...done. $ sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*" Setting permissions for user "admin" in vhost "/" ... ...done.

那里发生了不好的事情,无论如何我都无法重新启动rabbitmq

$ sudo systemctl status rabbitmq-server.service ● rabbitmq-server.service - RabbitMQ broker Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Fri 2018-10-19 10:55:23 CEST; 17s ago Process: 59210 ExecStop=/usr/lib/rabbitmq/bin/rabbitmqctl stop (code=exited, status=2) Process: 59024 ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server (code=exited, status=1/FAILURE) Main PID: 59024 (code=exited, status=1/FAILURE) Oct 19 10:55:23 XEMDUB07APXD080 systemd[1]: rabbitmq-server.service: main process exited, code=exited, ...LURE Oct 19 10:55:23 XEMDUB07APXD080 rabbitmqctl[59210]: Stopping and halting node rabbit@XEMDUB07APXD080 ... Oct 19 10:55:23 XEMDUB07APXD080 rabbitmqctl[59210]: Error: unable to connect to node rabbit@XEMDUB07APXD...own Oct 19 10:55:23 XEMDUB07APXD080 rabbitmqctl[59210]: DIAGNOSTICS Oct 19 10:55:23 XEMDUB07APXD080 rabbitmqctl[59210]: =========== Oct 19 10:55:23 XEMDUB07APXD080 rabbitmqctl[59210]: attempted to contact: [rabbit@XEMDUB07APXD080] Oct 19 10:55:23 XEMDUB07APXD080 systemd[1]: rabbitmq-server.service: control process exited, code=exite...us=2 Oct 19 10:55:23 XEMDUB07APXD080 systemd[1]: Failed to start RabbitMQ broker. Oct 19 10:55:23 XEMDUB07APXD080 systemd[1]: Unit rabbitmq-server.service entered failed state. Oct 19 10:55:23 XEMDUB07APXD080 systemd[1]: rabbitmq-server.service failed. Hint: Some lines were ellipsized, use -l to show in full. lskdlskdlskd

我应该怎么做才能让rabbitmq重新开始?谢谢

标签: magentorabbitmq

解决方案


我在 Windows 上遇到了同样的问题。我没有通过谷歌搜索找到解决方案。{error,{cannot_read_enabled_plugins_file,"C:\RabbitMQ\ENABLE~1",eisdir}} 我已将环境变量中配置的 HOMEDRIVE 和 HOMEPATH 设置为 c: 和 \RabbitMQ。但是 rabbimq 忽略了这些值。

我在 C:\RabbitMQ 文件夹中有一个名为“enabled_plugins”的文件夹。RabbitMQ 期望 %HOMEDRIVE%%HOMEPATH% 文件夹中有一个文件。

解决方案是删除 C:\RabbitMQ 路径下的 enabled_plugins 文件夹,并在 %HOMEDRIVE%%HOMEPATH% 文件夹中创建名为 enabled_plugins 的文件。

涉及的其他步骤:

1)安装二郎。检查环境变量是否指向正确的 erlang 路径在我的情况下 envName:ERLANG_HOME 值:C:\Program Files\erl10.0.1

2) 安装 RabbitMQ windows 安装程序

3) 配置防火墙(如有必要)。从控制面板查看高级防火墙设置(见防火墙设置左侧面板)。

根据以下添加新规则。

规则类型 端口 协议和端口 TCP 指定的本地端口 5672、15672 操作 允许连接 Profile Domain、Private、Public Name RabbitMQ

规则类型 程序 程序路径 %ProgramFiles%\erl7.2.1\bin\erl.exe 操作 允许连接 Profile Domain, Private, Public Name Erlang

规则类型 Program 程序路径 %ProgramFiles%\erl10.0.1\erts-10.0.1\bin\erl.exe 操作 允许连接 Profile Domain, Private, Public Name Erlang RunTime

规则类型 程序 程序路径 %ProgramFiles%\erl10.0.1\erts-10.0.1\bin\epmd.exe 操作 允许连接 Profile Domain, Private, Public Name Erlang Port

4) 将 RabbitMQ 文件夹从 %APPDATA% 复制到 C: 驱动器并从 %APPDATA% 文件夹中删除
(这可以在注销并重新登录后完成)。

5)设置环境变量(系统变量)RABBITMQ_BASE = C:\RabbitMQ and RABBITMQ_MNESIA_BASE= C:\RabbitMQ\db,确保db文件夹存在。

6)运行RabbitMQ命令提示符(以管理员身份运行)(或命令提示符路径C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.8\sbin)

7) SET HOMEDRIVE=C: SET HOMEPATH=\RabbitMQ 从命令提示符

8) rabbitmq-service.bat 删除

9) rabbitmq-service.bat 安装

10) rabbitmq-service.bat 启动

11) rabbitmq-plugins.bat 启用 rabbitmq_management (如果身份验证不匹配检查 erlang cookie)

12) rabbitmqctl.bat status (检查状态)

13)从 C:\Windows\System32\config\systemprofile.erlang.cookie 文件中删除只读属性。(右键单击属性)

14) 确保 C:\Windows\System32\config\systemprofile 中的 cookie 内容与 %HOMEDRIVE%%HOMEPATH%.erlang.cookie 相同

15) http://localhost:15672/#/,您应该会看到登录屏幕。

16) 使用访客/访客登录并创建虚拟主机并配置您的总线(发送方)。启动指向此虚拟主机的后台服务。


推荐阅读