rabbitmq拒绝启动

qlckcl4x  于 4个月前  发布在  RabbitMQ
关注(0)|答案(9)|浏览(104)

我已经在ubuntu上安装了rabbitmq,并试图使用rabbitmq-server start启动它,但是,我得到了这个错误:

Activating RabbitMQ plugins ...

0 plugins activated:

node with name "rabbit" already running on "mybox"

diagnostics:

- nodes and their ports on mybox: [{rabbit,38618},
                                       {rabbitmqprelaunch13346,41776}]
- current node: rabbitmqprelaunch13346@mybox
- current node home dir: /var/lib/rabbitmq
- current node cookie hash: 8QRKGluOJOcZ4AAkEdFwQg==

字符串
所以我尝试停止它或使用service rabbitmq-server restart重新启动它,但我得到以下错误:Restarting rabbitmq-server: RabbitMQ is not running
服务器的主机名hostname -s是mybox。
我如何停止当前运行的示例,或者至少,我如何管理它?我没有访问它的权限,但是我不能正确地运行rabbitmq。
谢谢

drkbr07n

drkbr07n1#

Rabbitmq被设置为安装后自动启动。我不认为它被配置为使用service命令运行。
查看rabbitmq的状态

sudo rabbitmqctl status

字符串
为了阻止兔子

sudo rabbitmqctl stop


(Try再次使用status命令查看它是否已停止)。要再次启动它,推荐的方法是

sudo invoke-rc.d rabbitmq-server start


这些都可以在vanilla ubuntu安装中使用apt-get来工作

还没有工作?

如果您尝试启动或重新启动rabbitmq失败,请检查有多少进程正在运行。

ps -ef | grep rabbit


应该有5个进程以用户rabbitmq的身份运行。如果你有更多的进程,特别是如果它们以其他用户(比如root,或者你自己的用户)的身份运行,你应该停止这些进程。
最简单的方法可能是重新启动您的机器。

7lrncoxx

7lrncoxx2#

如果hostname -s值已更改,rabbitmq-server拒绝启动。
这里建议的解决方案仅适用于测试/开发环境
我不得不删除数据库以在本地修复它。即空文件夹/var/lib/rabbitmq(ubuntu)或/usr/local/var/lib/rabbitmq/(mac)

m4pnthwp

m4pnthwp3#

似乎Mnesia数据库已损坏。必须删除它才能让sudo service rabbitmq-server start重新运行!
$sudo rm -rf /var/lib/rabbitmq/mnesia/
也要确保任何流浪兔进程被杀死之前清除
$ps auxww|大白兔|awk '{打印$2}'| sudo xargs kill-9
然后
$sudo service rabbitmq-server start

ljsrvy3e

ljsrvy3e4#

我有类似的问题,但这些建议对我不起作用(重新启动)。当我运行rabbitmq-server命令时,我得到这样的响应:

$/ rabbitmq-server

BOOT FAILED
===========

Error description:
   {error,{cannot_log_to_file,"/var/log/rabbitmq/[email protected]",
                              {error,eacces}}}
....

字符串
当我检查/var/log/rabbitmq/ [[email protected]](https://stackoverflow.com/cdn-cgi/l/email-protection)文件的权限时,我看到该组没有该文件的写入权限。所以我用该命令授予组权限:

/var/log/rabbigmq/$ chmod g+w *


那问题就解决了
也许这个答案能帮助到别人。

zlwx9yxi

zlwx9yxi5#

如果你使用celery,你的队列可能会达到最大大小,rabbit将无法启动。也许你甚至不能使用rabbitmqctl,所以如果你能负担得起清理队列,只需删除
/var/lib/rabbitmq/mnesia/rabbit@<host>/queues
在unix上(在你的系统上寻找mnesia DB路径)。**小心:**这将删除你在rabbit中的所有内容,所以这是最后的解决方案。

m0rkklqb

m0rkklqb6#

我的rabbitmq的brew版本也拒绝启动(在我没有修改的情况下工作了多年之后)。

$ cat /usr/local/etc/rabbitmq/rabbitmq-env.conf
CONFIG_FILE=/usr/local/etc/rabbitmq/rabbitmq
NODE_IP_ADDRESS=127.0.0.1
NODENAME=rabbit@localhost
RABBITMQ_LOG_BASE=/usr/local/var/log/rabbitmq

字符串
我在NODENAME上编辑了rabbit@brew services restart rabbitmq又开始工作了。

8mmmxcuj

8mmmxcuj7#

看看你正在尝试启动的节点的日志中有什么。它将在/var/log/rabbitmq/在我的情况下是selinux,rabbit无法绑定到它的端口。

slhcrj9b

slhcrj9b8#

如果标准的stop和start不起作用,请列出正在运行的rabbitmq进程,

ps aux | grep rabbitmq

字符串
终止beam.smp进程,

kill -9 {process id}


然后重新启动rabbitmq服务器。

cs7cruho

cs7cruho9#

不确定这是否相关,但在我的情况下,配置正确的节点名称帮助我升级后。
我的错误消息至少是令人困惑的:

Error trying to stop RabbitMQ: :throw:{:error, {:missing_dependencies, [:eldap], [:rabbitmq_auth_backend_ldap]}}

字符串
在Ubuntu 22.04中,配置文件是/etc/rabbitmq/rabbitmq-env.conf,默认值(注解掉):

#NODENAME=rabbit


我设置为升级前使用的节点名,即s1

NODENAME=s1


修复后,服务器立即启动:)

相关问题