我正在尝试在运行Windows 7的计算机和运行CentOS 6.4的计算机之间构建RabbitMQ群集 Windows计算机运行Erlang 20.1和RabbitMQ 3.6.13,Linux运行Erlang 20.0和RabbitMQ 3.6.14
起初我无法将任何节点连接到另一个节点,我不断收到Error: unable to connect to nodes ... : nodedown
消息。
在尝试了所有建议的here之后,我现在可以将Linux节点连接到Windows节点,但是当我运行rabbitmqctl -n rabbit@[linux hostname] status
时,我仍然会收到此错误:
Clustering node 'rabbit@CADTS-0256' with 'rabbitmq@cadts-1074'
Error: unable to connect to nodes ['rabbitmq@cadts-1074']: nodedown
DIAGNOSTICS
===========
attempted to contact: ['rabbitmq@cadts-1074']
rabbitmq@cadts-1074:
* unable to connect to epmd (port 4369) on cadts-1074: nxdomain (non-existing d
omain)
current node details:
- node name: 'rabbitmq-cli-08@CADTS-0256'
- home dir: C:\Users\admlocal
- cookie hash: Zpo186ZWRxztrQSUSWhFUg==
我也无法以相反的方式构建我的群集(通过在Windows节点上运行join_cluster
)。
这是我在Windows节点上运行rabbitmqctl cluster_status
时得到的结果:
Cluster status of node 'rabbit@CADTS-0256'
[{nodes,[{disc,['rabbit@CADTS-0256','rabbit@cadts-1074']}]},
{running_nodes,['rabbit@cadts-1074','rabbit@CADTS-0256']},
{cluster_name,<<"rabbit@CADTS-0256.intra.cea.fr">>},
{partitions,[]},
{alarms,[{'rabbit@cadts-1074',[nodedown]},{'rabbit@CADTS-0256',[]}]}]
并在linux节点上:
Cluster status of node 'rabbit@cadts-1074'
[{nodes,[{disc,['rabbit@CADTS-0256','rabbit@cadts-1074']}]},
{running_nodes,['rabbit@CADTS-0256','rabbit@cadts-1074']},
{cluster_name,<<"rabbit@CADTS-0256.intra.cea.fr">>},
{partitions,[]},
{alarms,[{'rabbit@CADTS-0256',[]},{'rabbit@cadts-1074',[]}]}]
由于我能够将Linux节点连接到Windows节点,因此我运行了一个集群并且认为我会尝试发送消息,但是当我这样做时,我遇到了failed to connect
错误。我正在使用带有paho.mqtt.c库的MQTT插件。
我试图在Linux节点上发送和接收消息,因为我还没能在Windows上编译paho.mqtt.c库。 Linux节点的日志中没有关于连接失败的信息,日志中的最后一件事是关于在加入集群后重新启动节点时写入的节点的信息。
我不确定这两个问题是否相关,但我认为这不是巧合。在加入群集之前,我能够在Linux节点上发送和接收消息。
更新
我现在就在这里:
两台计算机可以相互ping通,我可以从Linux节点运行rabbitmqctl -n [windows node name] status
并获取Windows节点的状态,以及从Linux节点访问Windows节点的管理界面。但我不能这样做:Linux节点的管理界面不会在Windows上加载(两个节点都启用了管理插件),rabbitmqctl -n [Linux node name] status
返回相同的nodedown错误。< / p>
我们还尝试过从Linux节点通过Windows发送消息(通过在连接中指定Windows节点的IP地址)来查看它是否已经发送,以及我们是否可以在管理界面上看到它Windows节点,但无论我们如何尝试,我们都遇到了连接错误,连接似乎只在连接的地址为“tcp:// localhost:1883”时才起作用,我不确定这是否是由于Paho库,MQTT协议或RabbitMQ本身。我不知道如果发布者和订阅者都连接到他们自己的本地主机,如何从一台机器发送消息并在另一台机器上接收消息可能会起作用。