rabbimq集群搭建报错:Error: unable TO perform an operation ON node 'rabbit@test3'. Please see diagnostics information AND suggestions below.

  在搭建rabbitmq集群的时候,添加内存节点时,抛出异常:Error: unable TO perform an operation ON node 'rabbit@test3'. Please see diagnostics information AND suggestions below.

  

  首先,假设当前服务器为A,我们在A服务器执行rabbitmqctl join_cluster rabbit@B --ram,就是说我们要将A服务器作为内存节点加入到B中,然后执行这个命令报了上述的错误

  总结了一下,这个问题可按以下思路解决:

  1、查看A,B两台服务器中rabbitmq主目录下的.erlang.cookie文件是否存在,且内容是否一样(使用cat命令输出),另外,可以的话,将用户主目录下的.erlang.cookie文件设置成和rabbitmq主目录下的.erlang.cookie文件一致

  2、rabbitmqctl join_cluster rabbit@B --ram命令中的B貌似只能是host,不能是IP,因此需要在/etc/hosts中添加相应的IP--host映射,添加后,看能否ping通

  3、重启A,B服务器中的rabbitmq相关进程:  

  #查找rabbitmq相关进程
  ps -ef | grep rabbitmq
  #杀掉,可以使用-9强制杀掉
  sudo kill 5760 5761 5917
  #启动rabbitmq,命令后加个&表示在后台启动
  sudo rabbitmq-server &

  4、先暂停A中的应用,再指定join_cluster,若执行成功,再启动应用,在A中执行以下命令

    # 停止应用
  sudo rabbitmqctl stop_app
  #将A作为内存节点添加到B中去,--ram参数就是表示是内存节点,如果不带这个参数,就是磁盘节点
  sudo rabbitmqctl join_cluster rabbit@B --ram
  # 若上面命令执行成功,则启动应用 
  sudo rabbitmqctl start_app

猜你喜欢

转载自www.cnblogs.com/shanfeng1000/p/12108627.html
今日推荐