当前位置:   article > 正文

rabbitmqctl list_users报错之Error: unable to perform an operation on node ‘rabbit@192‘.

error: unable to perform an operation on node

今天在调用rabbitmqctl list_users一直报错,当时很不理解,找遍了所有网上的方法,仔细精读每个单词,查找官网解决方法,都没有解决。最后花费了一下午排查问题,我的思路是从报错信息出发,根据列举的信息一一排查

1.以下是我的报错信息

对应的翻译信息如下

  1. 错误:无法在节点“rabbit@192”上执行操作。请参阅下面的诊断信息和建议。
  2. 最常见的原因是:
  3. * 目标节点无法访问(例如,由于主机名解析、TCP 连接或防火墙问题)
  4. * CLI 工具无法向服务器进行身份验证(例如,由于 CLI 工具的 Erlang cookie 与服务器的 cookie 不匹配)
  5. * 目标节点未运行
  6. 除了以下诊断信息外:
  7. * 有关详细信息,请参阅 https://rabbitmq.com/documentation.html 上的 CLI、集群和网络指南
  8. * 查阅节点上的服务器日志rabbit@192
  9. * 如果目标节点配置为使用长节点名称,请不要忘记在 CLI 工具中使用 --longnames
  10. 诊断
  11. ===========
  12. 尝试联系:[rabbit@192]
  13. rabbit@192
  14. * 无法连接到 192 上的 epmd(端口 4369):badarg(未知的 POSIX 错误)
  15. 当前节点详细信息:
  16. * 节点名称:'rabbitmqcli-7053-rabbit@192'
  17. * 有效用户主目录:/var/lib/rabbitmq
  18. * Erlang cookie 哈希值:NM

以上给的三个原因我都在反复查看,但因为不够仔细,将排查时间延长了,本次遇到的问题原因:主机名解析

在linux和rbmq都默认安装,从上面报错信息看出的rabbitmq的node节点名是192,而rbmq的node名是根据主机的hostname来的,正是因为是hostname是纯数字所以才出现本次问题

开始我也有去修改 hosts文件:/etc/hosts 在文件末尾追加了 主机ip 192

此时少了一个步骤没有自己去ping自己的主机名是否调通

[root@localhost rabbitmq]# ping 192
connect: Invalid argument

后面去ping 192,发现是不通的,这时候我就怀疑是纯数字原因

我又去修改了一遍/etc/hosts文件 主机ip meng

  1. [root@localhost etc]# vi hosts
  2. [root@localhost etc]# ping 192
  3. connect: Invalid argument
  4. [root@localhost etc]# vi hosts
  5. [root@localhost etc]# ping meng
  6. PING meng (192.168.100.128) 56(84) bytes of data.
  7. 64 bytes from meng (192.168.100.128): icmp_seq=1 ttl=64 time=0.017 ms
  8. 64 bytes from meng (192.168.100.128): icmp_seq=2 ttl=64 time=0.032 ms
  9. 64 bytes from meng (192.168.100.128): icmp_seq=3 ttl=64 time=0.054 ms
  10. 64 bytes from meng (192.168.100.128): icmp_seq=4 ttl=64 time=0.034 ms
  11. ^C
  12. --- meng ping statistics ---

此时已经确信是我的主机名的问题,最终解决方法如下:

1.# 设置hostname

vi /etc/hosts

主机ip mq

2.vi /etc/hostname

末尾追加 rabbitmq

3.添加环境变量

export HOSTNAME=mq

4.刷新DNS缓存

/etc/init.d/network restart

5.重启mq服务器

/sbin/service rabbitmq-server stop
(/sbin/service rabbitmq-server status查看是否已经停止)
/sbin/service rabbitmq-server start
(/sbin/service rabbitmq-server status查看是否已经启动)
6.网页访问ip:15672判断已经启动
7.rabbitmqctl list_users 命令使用成功
[root@localhost etc]# rabbitmqctl list_users
Listing users ...
user    tags
guest   [administrator]
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/617478
推荐阅读
相关标签
  

闽ICP备14008679号