现象:
rabbitmq启动成功后,执行./rabbitmqctl status等指令时报错Error: unable to perform an operation on node 'rabbit@xxx'. Please see diagnostics information and suggestions below......
rabbitmq在报错信息之后给出了一些建议的解决办法
Most common reasons for this are:
* Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues)
* CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server)
* Target node is not running
In addition to the diagnostics info below:
* See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more
机器翻译一下大概意思就是
1.目标节点是无法访问的(例如,主机名解析问题,TCP连接或防火墙问题)
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,不要用后台启动的方式启动,直接启动,看看有没有真的启动成功
另外网上还有人提出来需要确保erlang,rabbitmq的安装没有问题,尤其是要注意基础环境是否安装完全,否则影响erlang运行
安装GCC GCC-C++ Openssl ncurses等模块
yum -y install ncurses-devel
yum -y install openssl-devel
yum -y install unixODBC-devel
yum -y install gcc-c++
如果提示已经安装则说明没问题
其实这个想法我是有点怀疑态度的,因为如果基础环境安装的有问题,正常思维下,那么erlang的安装和测试按理说是应该没办法成功的,根本走不到你启动rabbitmq的这一步