我正在尝试使用厨师群集兔子
这是我的错误。我关闭了第二个节点上的所有兔子。
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。不行。在什么服务器上运行它不会运行?所有?
由于
答案 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
rabbit@node1
并从cat /var/lib/rabbitmq/.erlang.cookie
rabbit@node2
删除当前Cookie并粘贴新Cookie。在同一节点上执行以下命令
/usr/sbin/rabbitmqctl stop_app
/usr/sbin/rabbitmqctl reset
/usr/sbin/rabbitmqctl cluster rabbit@node1
应该这样做。
记录了相同的程序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
错误。