RabbitMQ克服了`join_cluster`

时间:2016-08-26 04:27:52

标签: rabbitmq rabbitmqctl

我正在设置一个从docs读取的RabbitMQ群集。

在设置时,它通过命令rabbitmqctl join_cluster rabbit@rabbit1将Machine2与Machine1连接起来。现在什么是rabbit@rabbit1

我知道它的user@hostname,但是当我触发此命令时,它会显示Error: {cannot_discover_cluster,"Cannot cluster node with itself"}

当我输入IP而不是主机名时,它会显示Error: {cannot_discover_cluster,"The nodes provided are either offline or not running"}

我也在 / etc / hosts 文件中添加了IP rabbit1

我到底错过了什么?

3 个答案:

答案 0 :(得分:1)

Cannot cluster node with itself”为真。您必须更改群集名称才能加入。使用set_cluster_name来更改其他节点上的群集名称,然后再返回到该节点并将其加入新命名的群集。例如,

在node2上,

`rabbitmqctl set_cluster_name rabbit@new`

返回节点1,

`rabbitmqctl stop_app` 
`rabbitmqctl reset`
`rabbitmqctl join_cluster rabbit@new`
`rabbitmqctl start_app`

很简单的方法。

答案 1 :(得分:0)

你正试图加入一个自己。

您有两个可能的错误:

  1. 错误header('Access-Control-Allow-Origin: *');(错误的别名)
  2. 您实际尝试加入function factory() { var foo = 'bar'; var props = { b: 'c'}; var proto = { method: function() { return foo; } }; var obj = Object.create(proto); Object.assign(obj, props); return obj; } var obj = factory(); console.log(obj); // {b: 'c'} console.log(obj.method()) // 'foo' /etc/hosts

答案 2 :(得分:0)

Rabbit @ rabbit1,

在这种情况下,rabbit1是rabbitmq服务器所在的计算机/主机的名称。

您可以使用像要在其中进行群集的Rabbit @ name_of_the_server这样的服务器名称。

您还可以看到当前rabbitmq主机的名称:

rabbitmqctl cluster_status

这将为您提供我的意思是主机名。

您需要确保在进行群集之前需要停止该计算机上的rabbitmq服务器,然后进行群集,然后重新启动rabbitmq节点。

检查此链接:

https://www.rabbitmq.com/clustering.html