RabbitMQ单机集群搭建出现Error: unable to perform an operation on node 'rabbit1@ClusterNode1'
参考链接:https://www.cnblogs.com/daryl/archive/2017/10/13/7645749.html
全部步骤和参考链接相同。
前八部都正常,在第九步会报错Error: unable to perform an operation on node 'rabbit1@ClusterNode1',具体如下图:
ping 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-env-ClusterNode1.bat中对RABBITMQ_NODENAME进行修改,具体如下。
在任务管理器中把erl.exe进程全部结束,并在管理中重启RabbitMQ服务。然后按照以下步骤执行:
1、启动节点
rabbitmq-server-ClusterNode1 -detached
2、形成集群
rabbitmqctl-ClusterNode1 stop_app
rabbitmqctl-ClusterNode1 join_cluster rabbit
rabbitmqctl-ClusterNode1 start_app
3、查看集群状态
rabbitmqctl cluster_status
4、通过监控页面,查看节点信息