兔子 - 错误:mnesia_unexpectedly_running

时间:2013-01-03 00:28:36

标签: rabbitmq chef

我正在尝试使用厨师群集兔子

这是我的错误。我关闭了第二个节点上的所有兔子。

rabbitmqctl join_cluster --ram rabbit@ip-10-158-xxx-xxx

Error: mnesia_unexpectedly_running

那么......这笔交易是什么?我从http://agiletesting.blogspot.com/2010/05/rabbitmq-clustering-in-ubuntu.html尝试了这个,即删除/ var / lib / rabbitmq / mnesia。不行。在什么服务器上运行它不会运行?所有?

由于

6 个答案:

答案 0 :(得分:47)

确保在发出cluster命令之前调用sudo rabbitmqctl stop_app。这对我来说似乎是个问题。

然后确保致电sudo rabbitmqctl start_app再次开始:)

答案 1 :(得分:5)

要发出非常重要的@Itai Ganot评论,这些评论并不是直观的:您需要在除一个节点之外的所有节点上运行rabbitmqctl stop_app。如果您在所有节点上运行rabbitmqctl stop_app,则会收到不同的消息:Error: mnesia_not_running

简而言之:

  • Error: mnesia_unexpectedly_running表示"您需要在此节点上运行rabbitmqctl stop_app
  • Error: mnesia_not_running表示"您需要在您尝试使用"
  • 群集的节点上运行rabbitmqctl start_app

答案 2 :(得分:2)

您需要从尝试连接的节点中复制Cookie

让我们使用一个包含2个节点的示例:rabbit @ node1和rabbit @ node2

  1. 转到rabbit@node1并从cat /var/lib/rabbitmq/.erlang.cookie
  2. 复制Cookie
  3. 转到rabbit@node2删除当前Cookie并粘贴新Cookie。
  4. 在同一节点上执行以下命令

    /usr/sbin/rabbitmqctl stop_app
    /usr/sbin/rabbitmqctl reset
    /usr/sbin/rabbitmqctl cluster rabbit@node1
    
  5. 应该这样做。

    记录了相同的程序here

答案 3 :(得分:1)

我在尝试创建两个rabbitmq服务器的集群时也收到了同样的错误。

据我所知,创建集群的真正过程与其他答案中描述的过程略有不同,但最终对我有用:

在你有两个或更多节点运行rabbitmq-server之后,选择一个服务器,那就是你不能触摸的服务器 - 让我们称之为兔子主服务器,在所有其他节点中,按照这些步骤:

1. Make sure the rabbitmq-server is not running.
2. # su - rabbitmq
3. $ rabbitmq-server -detached
4. $ rabbitmqctl cluster_status
5. $ rabbitmqctl stop_app
6. $ rabbitmqctl join_cluster rabbit@rabbitmaster
7. $ rabbitmqctl start_app

现在您可以运行rabbitmqctl cluster_status并查看刚刚配置的节点和rabbitmq master。

更多信息可在RabbitMQ Official site中找到。

答案 4 :(得分:0)

我不喜欢回答我自己的问题,但聚集拉宾的厨师是一个真正的痛苦。通过不使用带有自举的-N选项解决了兔问题。 Rabbit不喜欢要更改的主机名。

所以..在兔子网站上的文档进行聚类按预期工作。如果你对厨师使用-N选项......会出现重大问题。

答案 5 :(得分:0)

这意味着您尝试链接的当前节点上的应用程序正在运行。在加入主节点之前停止当前节点上的应用程序。

sudo rabbitmqctl stop_app rabbitmqctl join_cluster --ram rabbit@ip-10-158-xxx-xxx。然后 rabbitmqctl start_app

还要确保主节点上的应用程序正在运行。否则,您将收到 Error: mnesia_not_running 错误。