Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案

前言

最近在Windows server 2012 R2的百度云服务器上安装rabbitmq时,在执行rabbitmqctl status命令时,一直报错,开始时出现的如下错误:

Error: unable to connect to node rabbit@xxx: nodedown

erlang的cookie问题排解

Google、百度了一通后,大多数都说的是cookie的问题,需要保持C:\Windows下的.erlang.cookie和C:\Users\Administrator下的.erlang.cookie一致,然后我搜索了一下,总共在三个地方找到了这个文件,如下图:

Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案_第1张图片
image

然后,我用其中的一个文件中的内容完全替换掉其他两个,这样使三个文件保持一致,然后打开下面这个窗口:

image

新的错误: unable to perform an operation on node

再次执行rabbitmqctl status命令,此时报了另一个错误:

Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案_第2张图片
image
Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案_第3张图片
image

不解,cookie也设置相同了,环境变量也添加正确了,为什么还是报错,继续寻找问题。

登录账号权限问题

后来看到一个网友说可能是登录账号的问题,我是用administrator账号登录服务器并安装rabbitmq的,rabbitmq也自动在C:\user\administrator下创建了一个.erlang.cookie文件,但是RabbitMQ服务启动的时候,执行者是local system account,如下图所示:

Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案_第4张图片
image

此时,我想到将RabbitMQ服务的启动账号改成administrator,果然,更改后重启服务,再次执行rabbitmqctl status,成功!具体操作如下图所示:

Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案_第5张图片
image
Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案_第6张图片
image

接下来呢,就是在浏览器中查看并设置新的管理员账号,来管理消息队列,具体的操作如下图,同时也可以参考我的另一篇博客中的详细操作。

为新账户设置管理员权限

这里需要说一下的是,在给新创建的账号指定管理员权限时,按照之前的命令:rabbitmqctl.bat set_permissions -p / cmmooc_zhaopin "." "." ".*",执行后,并没有为其赋予administrator的权限,如下图所示:

Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案_第7张图片
image

这里,需要执行这个命令:rabbitmqctl set_user_tags cmmooc_zhaopin administrator,此时才真正设置成管理员权限:

Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案_第8张图片
image

最后,就可以使用新创建的账号来登录rabbitmq网页管理界面了

Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案_第9张图片
image

*本文参考http://blog.csdn.net/starry0819/article/details/79228634,仅用于学习。

你可能感兴趣的:(Windows下安装RabbitMQ报错:unable to perform an operation on node时的解决方案)