RabbitMQ无法连接群集中的节点

时间:2016-07-01 12:08:42

标签: rabbitmq

我有2个节点,我想从中创建群集。我已经安装了RabbitMq。

现在我停止第二个节点中的兔子应用程序并尝试加入群集,如下面的命令: sudo rabbitmqctl join_cluster rabbit @ rabbit1

但它低于错误

> DIAGNOSTICS
> ===========
> 
> attempted to contact: [rabbit@TELXRMQ01]
> 
> rabbit@rabbit1:   * unable to connect to epmd (port 4369) on rabbit1:
> nxdomain (non-existing domain)
> 
> 
> current node details:
> - node name: 'rabbitmq-cli-34@rabbit2'
> - home dir: /var/lib/rabbitmq
> - cookie hash: A85MNn8I1UhtrGozi+m/2g==

我关注此链接:https://www.rabbitmq.com/clustering.html 两个节点中的errang cookie相同,并且两个节点都打开了4369端口。

3 个答案:

答案 0 :(得分:1)

有很多方法可以解决这个问题。

在RabbitMQ-3.6.9和Erlang v8.3.3下

  • 正确且与.erlang.cookie

    的文件相同
    chgrp rabbitmq /var/lib/rabbitmq/.erlang.cookie
    chown rabbitmq /var/lib/rabbitmq/.erlang.cookie
    chmod 400 /var/lib/rabbitmq/.erlang.cookie
    
  • 更正主机和主机名

    • 主机:

      cat /etc/hosts
      

      结果:

      127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
      ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
      
      127.0.0.1     rabbitmq252
      192.168.4.249 rabbitmq249
      192.168.4.251 rabbitmq251
      192.168.4.252 rabbitmq252
      
    • 主机名:

      cat /etc/hostname
      

      结果:

      rabbitmq252
      
  • 删除群集节点

    如果群集已经有节点或状态已更改,或者某个节点disagree已经有另一个节点。您可以通过以下命令删除节点:

    rabbitmqctl forget_cluster_node rabbit@rabbitmq252
    
  • 清除Erlang Mnesia数据库

    /var/lib/rabbitmq/的文件路径下,有三个文件,例如erl_crash.dump mnesia .erlang.cookie

    rm -rf /var/lib/rabbitmq/*
    
  • 杀死rabbitmq的过程

    ps aux|grep rabbitmq
    kill -9 remaining_process
    
  • 重新安装RabbitMQ和Erlang

无论如何,如果遇到问题,你应该:

  1. 阅读服务状态

    systemctl status rabbitmq-server.service -l
    # or
    service rabbitmq-server status
    # or
    journalctl -ex
    
  2. 阅读服务日志

    您可以在服务状态下找到路径。

    cat /var/log/rabbitmq/rabbit@rabbitmq252.log
    # or
    cat /var/log/rabbitmq/rabbit@rabbitmq251-sasl.log
    
  3. 读取端口状态

    netstat -ntlp
    

答案 1 :(得分:0)

它还取决于版本,因此您必须使用join_clustercluster

答案 2 :(得分:-1)

我通过在/ etc / hosts文件中添加主机来解决这个问题。

相关问题