51

我已经安装了 rabbitmqubuntu并尝试使用 启动它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。

谢谢你。

4

8 回答 8

72

Rabbitmq 设置为在安装后自动启动。我不认为它是用service命令配置运行的。

查看rabbitmq的状态

sudo rabbitmqctl status

停止rabbitmq

sudo rabbitmqctl stop

(再次尝试 status 命令以查看它是否已停止)。要重新启动它,推荐的方法是

sudo invoke-rc.d rabbitmq-server start

这些都适用于使用 apt-get 的 vanilla ubuntu 安装

还是行不通?

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

ps -ef | grep rabbit

应该有 5 个进程以用户 rabbitmq 运行。如果您有更多,特别是如果他们以其他用户(例如 root 或您自己的用户)身份运行,您应该停止这些进程。

最干净的方法可能是重新启动您的机器。

于 2012-04-27T09:18:08.557 回答
15

rabbitmq-serverhostname -s如果值已更改,则拒绝启动。

此处建议的解决方案仅适用于测试/开发环境

我不得不删除数据库以在本地修复它。即空文件夹/var/lib/rabbitmq(ubuntu)或/usr/local/var/lib/rabbitmq/(mac)

于 2015-09-11T12:03:25.643 回答
10

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

$/ rabbitmq-server


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

Error description:
   {error,{cannot_log_to_file,"/var/log/rabbitmq/rabbit@haber01.log",
                              {error,eacces}}}
....

当我检查/var/log/rabbitmq/rabbit@haber01.log文件的权限时,我看到该组没有对该文件的写入权限。所以我允许使用该命令进行分组:

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

那么问题就解决了!

也许这个答案可以帮助某人。

于 2015-03-09T09:43:26.867 回答
7

似乎 Mnesia 数据库已损坏。必须删除它才能sudo service rabbitmq-server start重新开始!

$ sudo rm -rf /var/lib/rabbitmq/mnesia/

还要确保在清除之前杀死任何流浪的兔子进程

$ ps辅助| grep 兔子 | awk '{打印 $2}' | 须藤 xargs 杀死 -9

接着

$ sudo 服务 rabbitmq-server 启动

于 2019-10-25T05:14:22.757 回答
4

如果您使用芹菜,您的队列可能会达到最大大小,因此兔子不会启动。也许你甚至不能使用rabbitmqctl,所以如果你有能力清理队列,只需删除

/var/lib/rabbitmq/mnesia/rabbit@<host>/queues

在 unix 上(在您的系统上查找 mnesia DB 路径)。 请注意:这将删除您在 rabbit 中的所有内容,因此这是最后的解决方案。

于 2017-03-08T20:48:02.167 回答
1

查看您尝试启动的节点日志中的内容。它将在 /var/log/rabbitmq/ 在我的情况下是 selinux,rabbit 无法绑定到它的端口。

于 2018-02-28T15:54:51.357 回答
0

如果标准停止和启动不起作用,请列出正在运行的 rabbitmq 进程

ps aux | grep rabbitmq

使用终止 beam.smp 进程

kill -9 {process id} 

并再次启动rabbitmq-server。

于 2019-03-06T10:55:42.037 回答
0

我的 brew 版本的 rabbitmq 也拒绝启动(在多年没有经过我修改的情况下工作良好)。

$ 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

我编辑rabbit@NODENAME重新brew services restart rabbitmq开始工作。

于 2020-06-28T11:34:43.370 回答