欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'

程序员文章站 2022-05-04 23:50:01
参考链接:https://www.cnblogs.com/daryl/archive/2017/10/13/7645749.html 全部步骤和参考链接相同。 前八部都正常,在第九步会报错Error: unable to perform an operation on node 'rabbit1@C ......

参考链接:https://www.cnblogs.com/daryl/archive/2017/10/13/7645749.html

 

全部步骤和参考链接相同。

 

前八部都正常,在第九步会报错Error: unable to perform an operation on node 'rabbit1@ClusterNode1',具体如下图:

RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'

ping ClusterNode1结果正常:

RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'

rabbitmqctl-ClusterNode1.bat运行命令基本都会报与stop_app相同的错误。

 

查网上erlang.cookie修改没用,因为两个erlang.cookie本来就是相同的。查阅了大量相关资料后,他们的解决方案基本都无效。

 

反复检查后我突然发现HTTP端操作正常,就是不能用rabbitmqctl-ClusterNode1.bat进行操作。

 

然后,我在HTTP端用Export definitions导出RabbitMQ的基本信息,发现其中有一条"global_parameters":[{"name":"cluster_name","value":"rabbit1@PC-20180525AWWA"}]信息。

所以我就思考是不是应该不用ClusterNode1,而是直接使用默认的本机名。

 

正巧我看见http://www.zhimengzhe.com/mac/333192.html中就有这样直接用rabbit和rabbit1表示两个节点的例子,节点会自动默认为rabbitx@localhost,只要配置了127.0.0.1 localhost。

 

所以我就将hosts中的127.0.0.1 ClusterNode1注释。

RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'

同时,在rabbitmq-env-ClusterNode1.bat中对RABBITMQ_NODENAME进行修改,具体如下。

RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'

在任务管理器中把erl.exe进程全部结束,并在管理中重启RabbitMQ服务。然后按照以下步骤执行:

1、启动节点

rabbitmq-server-ClusterNode1 -detached

2、形成集群

rabbitmqctl-ClusterNode1 stop_app

rabbitmqctl-ClusterNode1 join_cluster rabbit

rabbitmqctl-ClusterNode1 start_app

RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'

3、查看集群状态

rabbitmqctl cluster_status

RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'

4、通过监控页面,查看节点信息

RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'