rabbitmq拒绝开始

时间:2012-04-27 08:59:05

标签: rabbitmq

我已在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。

谢谢。

8 个答案:

答案 0 :(得分:60)

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

查看rabbitmq的状态

sudo rabbitmqctl status

停止rabbitmq

sudo rabbitmqctl stop

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

sudo invoke-rc.d rabbitmq-server start

这些都适用于使用apt-get

的vanilla ubuntu安装

仍然无效?

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

ps -ef | grep rabbit

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

最干净的方法可能是重启你的机器。

答案 1 :(得分:8)

如果rabbitmq-server值已更改,则

hostname -s拒绝启动。

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

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

答案 2 :(得分:7)

我有类似的问题,但这些建议对我不起作用(重启也)。当我运行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 *

然后问题就消失了!

也许这个答案对某人有帮助。

答案 3 :(得分:3)

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

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

在unix上(在系统上查找mnesia DB路径)。 小心:这将删除你在兔子身上所拥有的一切,所以这是最后的解决方案。

答案 4 :(得分:1)

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

答案 5 :(得分:0)

如果标准停止和启动不起作用,请列出使用来运行的Rabbitmq进程。

ps aux | grep rabbitmq

使用

杀死beam.smp进程
kill -9 {process id} 

然后再次启动Rabbitmq服务器。

答案 6 :(得分:0)

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

  

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

还要确保清除前所有流浪兔的过程都被杀死

  

$ ps auxww | grep兔| awk'{print $ 2}'| sudo xargs kill -9

答案 7 :(得分:0)

我的现成的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@上编辑了NODENAMEbrew services restart rabbitmq又开始工作了。