前言

最近在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一致,然后我搜索了一下,总共在三个地方找到了这个文件,如下图:

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

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

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

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

登录账号权限问题

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

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

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

为新账户设置管理员权限

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

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

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

作者: 一蓑烟雨

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

分类: RabbitMQ
posted 阅读(399 ) 评论(3 )

评论内容: