2016-06-07 486 views
3

我正在尝试使用两个Rhel实例进行集群。我能够互相ping通,甚至当我试图使用命令empd -names,我得到它已经启动并运行在4369.当我使用命令作为sudo rabbitmqctl join_cluster [email protected]我得到以下错误,以及确保我是stop_app第一..RabbitMQ错误:无法连接到节点:nodedown

sudo rabbitmqctl join_cluster [email protected] 

群集节点 '兔@ IP-10-23-20-36' 与 '兔@ IP-10-23-209-142' ...... 错误:无法连接到节点[ '兔@ IP-10-23-209-142']:nodedown

DIAGNOSTICS

试图联系:[ '兔@ IP-10-23-209-142']

兔@ IP-10-23-209-142: *无法连接到上IP-10-23-209-142 EPMD(端口4369):NXDOMAIN(非现有域)

当前节点细节: - 节点名称: 'RabbitMQ的-CLI-80 @ IP-10-23-20-36' - 主目录:在/ var/lib中/ RabbitMQ的 - Cookie哈希值:u7nRIpJ40Fd356iLbkDO6Q ==

事情我已经尝试过:

  1. 检查了cookie名称,在两个实例中使用了
    sudo cat /var/lib/rabbitmq/.erlang.cookie
  2. 改变了EPMD端口以及export ERL_EMPD_PORT=4370
  3. netstat -an |grep 4369 | grep -i listen
  4. 在插件管理的GUI改变主机名,以及。
  5. 更改所有者和权限也使用

    sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie 
    sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie 
    
  6. 添加端口

    sudo iptables -I INPUT -p tcp --dport 4369 --syn -j ACCEPT 
    
  7. 须藤rabbitmqctl状态

    {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]}, 
    

* IP-不会忽略的样本adrresses。

回答

5

随着错误消息指出,您的主机名不解析:

[email protected]: * unable to connect to epmd (port 4369) on ip-10-23-209-142: nxdomain (non-existing domain) 

您需要在您的DNS或/etc/hosts在两台主机上宣布这些主机名。然后,您可以使用例如测试名称解析正在工作。 ping(1):

ping ip-10-23-209-142 # from ip-10-23-20-36 
+0

谢谢Jean.So坏me.Forgot来检查一下。 – Dileephell

+1

“systemctl restart rabbitmq-server.service”解决了我的问题。 – Hem

+0

您是否可以将问题标记为答案,因为这是正确的解决方案? – BigBadCoder

0

我得到了和今天一样的错误,这个建议没有意义。因此,首先,你应该在/ var/log/rabbitmq/rabbitmq @ [你的主机名] .log中检查其日志,否则你会浪费你的时间。然后你可以看到那里发生了什么。

在我的情况下,它报告了/ var/db/rabbitmq/mnesia/rabbit @ www/cluster_nodes文件中的错误。配置

Error description: 


{error,{cannot_read_file,"/var/db/rabbitmq/mnesia/[email protected]/cluster_nodes.config", 
         {1,erl_parse,["syntax error before: ","'@'"]}}} 

所以,我只是删除此文件夹中的/ var/DB/RabbitMQ的/ Mnesia的/兔子@ www和重新启动该服务,它就像一个魅力