2016-06-07 72 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和重新啓動該服務,它就像一個魅力