rabbitmq hosts报错
起因:
平日rabbitmq都已经脚本花来安装,今天安装的时候发现发现了异常报错,心里很疑惑,平日的脚本怎么突然出现了状况
报错如下
[root@rabbit-api-001 ~]# rabbitmqctl list_users
Error: unable to perform an operation on node ‘rabbit@rabbit-api-001’. Please see diagnostics information and suggestions below.
Most common reasons for this are:
DIAGNOSTICS===========
attempted to contact: [‘rabbit@rabbit-api-001’]
rabbit@rabbit-api-001: * connected to epmd (port 4369) on rabbit-api-001 * node rabbit@rabbit-api-001 up, ‘rabbit’ application running
Current node details:* node name: ‘rabbitmqcli66@rabbit-api-001’* effective user’s home directory: /var/lib/rabbitmq* Erlang cookie hash: PQXNPBxSq3gugPGiKks0lQ==
翻译:
1.目标节点是无法访问的(例如,主机名解析问题,STCP连接或防火墙问题)
2.CLI工具无法通过服务器进行身份验证(例如,CLI工具的Erlang cookie与服务器不匹配)
3.目标节点没有运行
按照rabbitmq给我们的建议,依次尝试
**1.主机名解析问题**,给自己的/etc/host文件配上ip和主机名,xxx就是报错提示'rabbit@xxx'的xxx
echo 127.0.0.1 xxx>> /etc/host
2.TCP连接问题,即网络问题
ping一下rabbitmq所在服务器的地址
3.防火墙问题,查看防火墙是否关闭,如果没有关闭,则关闭防火墙,指令如下,我报错的原因就是防火墙没有关闭
systemctl status firewalld
systemctl stop firewalld
4.cookie问题,确保计算机中erlang.cookie文件是一致的,具体路径记不得了,大家都是固态硬盘,直接搜索即可
5.rabbitmq没有启动成功,重启rabbitmq,不要用后台启动的方式启动,直接启动,看看有没有真的启动成功
解决:
排查后是主机名解析导致,将本机ip 写入hosts即可
[root@rabbit-api-001 ~]# vi /etc/hosts
x.x.x.x rabbit-api-001
#重启后解决
systemctl restart rabbitmq-server
[root@rabbit-api-001 ~]# rabbitmqctl list_users #不会报错了