服务器异常宕机,导致RabbitMQ启动失败

服务器异常宕机,导致RabbitMQ启动失败,第1张

问题原因: 由于服务器异常宕机导致RabbitMQ挂掉,服务器恢复之后尝试启动MQ发现启动失败。报错信息如下

查看状态:

报错如下:

解决:

系统日志如下:

删除/var/lib/rabbitmq/mnesia 目录下的rabbit@iZbp128yw4rvtfbytgv4y7Z.pid、rabbit@iZbp128yw4rvtfbytgv4y7Z、rabbit@iZbp128yw4rvtfbytgv4y7Z-plugins-expand后,再使用 systemctl start rabbitmq-server 启动,成功启动MQ。

注意 : 文件中包含交换机队列及用户等信息,删除等于重置MQ(队列会被清空),请谨慎 *** 作

插件目录权限问题, 修改属主

chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/mnesia/rabbit@localhost-plugins-expand/

【误区】

1、不要随便重洞中置,或者rabbitmqctl reset,重置队列

2、随便禁瞎颤帆用插件磨雹, /etc/rabbitmq/enabled_plugins

3、 sudo /usr/sbin/rabbitmq-server 报错pid权限不够

最近在Windows server 2012 R2的百度云服务器上安装rabbitmq时,在执行rabbitmqctl status命令时,一直报错,开始时出现的如下错误:

Error: unable to connect to node rabbit@xxx: nodedown

Google、百度了一通后,大多数都说的是cookie的问题,需要保持C:\Windows下的.erlang.cookie和C:\Users\Administrator下的.erlang.cookie一致,然后我搜索了一下,总共在三个地方找到了这个文件,如下图

然后,我用其中的一个文件中的内容完全替换掉其他两个,这样使三个文件保持一致,然后打开下面这个窗口:

再次执行rabbitmqctl status命令,此时报了另一个错误:

不解,cookie也设置相同了,环境变量也添加正确了,为什么还是报错,继续寻找问题。

后来看到一个网友说可能是登录账号的问题,我是用administrator账号登录服务器并安装rabbitmq的,rabbitmq也自动在C:\user\administrator下创建了一个.erlang.cookie文件,但是RabbitMQ服务启动的时候,执行者是local system account,如下图所示:

此时,我想到将RabbitMQ服务的启动账号改成administrator,果然,更改后重启服务,再次执行rabbitmqctl status,成功!具体 *** 作如下图所示:

接下来呢,就是在浏览器中查看并设置新的管理员账号,来管理消息队列,具体的 *** 作如下图,同时也可以参考我的另一篇博客中的详细 *** 作。

这里需要说一下的是,在给新创建的账号指定管理员权限时,按照之前的命令:rabbitmqctl.bat set_permissions -p / cmmooc_zhaopin ". " ". " ".*",信笑碰执行后,并没有为其赋予administrator的权限,如下图所示:

这里,需要执行这个命令:rabbitmqctl set_user_tags cmmooc_zhaopin administrator,此时才真正设置成管理员权限:

最后,就可以使用新创建的账号来登录rabbitmq网页管升册理界面了

*本文参滑谈考 http://blog.csdn.net/starry0819/article/details/79228634 ,仅用于学习。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8246189.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存