我已经安装了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重新启动?谢谢
发布于 2018-10-19 18:45:18
我在这里回答: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
现在就开始了。谢谢
发布于 2018-11-16 05:53:00
我在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。检查环境变量是否指向正确的erlang路径,在我的例子中,erlang的值为: C:\Program envName:ERLANG_HOME \erl10.0.1
2)安装RabbitMQ windows安装程序
3)配置防火墙(如有必要)。请参阅控制面板中的高级防火墙设置(请参阅防火墙设置左侧面板上的)。
根据以下内容添加新规则。
规则类型端口协议和端口TCP指定的本地端口5672,15672操作允许连接配置文件域、专用、公共名称RabbitMQ
规则类型程序路径%ProgramFiles%\erl7.2.1\bin\erl.exe操作允许连接配置文件域、专用、公用名称Erlang
规则类型程序路径%ProgramFiles%\erl10.0.1\erts-10.0.1\bin\erl.exe操作允许连接配置文件域、专用、公用名称Erlang RunTime
规则类型程序路径程序路径%ProgramFiles%\erl10.0.1\erts-10.0.1\bin\epmd.exe操作允许连接配置文件域、专用、公用名称Erlang端口
4)将RabbitMQ文件夹从%APPDATA%复制到C:驱动器并从%APPDATA%文件夹中删除
(This can be done after signout and re-log-in). 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) rabbitmq-service.bat删除
9) rabbitmq-service.bat安装
10) rabbitmq-service.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中的cookies内容与%HOMEDRIVE%%HOMEPATH%.erlang.cookie相同
15)http://localhost:15672/#/,您应该会看到登录屏幕。
16)使用guest/guest登录,创建虚拟主机并配置您的总线(发送方)。启动指向此虚拟主机的后台服务。
https://stackoverflow.com/questions/52889873
复制相似问题