启用 rabbitmq 管理后无法启动 rabbitmq 服务器



我已经安装了 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 管理,并更改了所有权

$ 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.

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

$ 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

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

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

我在 C:\RabbitMQ 文件夹中有一个名为"enabled_plugins"的文件夹。RabbitMQ 需要 %HOMEDRIVE%%HOMEPATH% 文件夹中的文件。

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

涉及的其他步骤:

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

2( 安装 RabbitMQ 窗口安装程序

3(配置防火墙(如有必要(。请参阅控制面板中的高级防火墙设置(请参阅防火墙设置的左侧面板(。

根据以下内容添加新规则。

规则类型端口 协议和端口 TCP 指定的本地端口 5672、15672 操作 允许连接 配置文件域、专用、公共 名称兔子MQ

规则类型程序 程序路径 %ProgramFiles%\erl7.2.1\bin\erl.exe 操作 允许连接 配置文件域、专用、公共 名称 Erlang

规则类型程序 程序路径 %ProgramFiles%\erl10.0.1\erts-10.0.1\bin\erl.exe 操作 允许连接 配置文件域、专用、公共 名称 Erlang 运行时

规则类型程序 程序路径 %ProgramFiles%\erl10.0.1\erts-10.0.1\bin\epmd.exe 操作 允许连接 配置文件域、专用、公共 名称 Erlang 端口

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

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

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

7( 设置 HOMEDRIVE=C:从命令提示符设置 HOMEPATH=\RabbitMQ

8( 兔子服务.bat删除

9( RabbitMQ-service.bat安装

10( 兔子服务.bat开始

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

12( Rabbitmqctl.bat状态(检查状态(

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

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

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

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

我在这里回答:https://github.com/rabbitmq/chef-cookbook/issues/182

在日志文件中,我发现:

`=INFO REPORT==== 19-Oct-2018::12:19:04 ===
Error description:
{error,
{cannot_read_enabled_plugins_file,"/etc/rabbitmq/enabled_plugins",
eacces}}
Log files (may contain more information):
/var/log/rabbitmq/rabbit@XEMDUB07APXD080.log
/var/log/rabbitmq/rabbit@XEMDUB07APXD080-sasl.log
Stack trace:
[{rabbit_plugins,read_enabled,1,
[{file,"src/rabbit_plugins.erl"},{line,80}]},
{rabbit_plugins,prepare_plugins,3,
[{file,"src/rabbit_plugins.erl"},{line,109}]},
{rabbit,'-boot/0-fun-1-',0,[{file,"src/rabbit.erl"},{line,334}]},
{rabbit,start_it,1,[{file,"src/rabbit.erl"},{line,358}]},
{init,start_it,1,[]},
{init,start_em,1,[]}]
code here
`

我所要做的就是通过以下方式将权限更改为/etc/rabbitmq/enabled_plugins

chmod 644 /etc/rabbitmq/enabled_plugins

它现在开始了。 谢谢

最新更新