Jam*_*vec 4 rabbitmq rabbitmqctl rabbitmqadmin
我在CentOS 5.x服务器上安装了RabbitMQ,用于在我的程序之间传递消息.我rabbitmqadmin
按照https://www.rabbitmq.com/management-cli.html上的说明进行了安装,并且过去在我的服务器上使用过它.
据我所知,看起来这个特定的服务器配置错误.在尝试获取有关如何解决此问题的更多信息时,我的网络搜索失败了.
错误:
[root@server ~]# python26 /usr/local/bin/rabbitmqadmin list nodes
*** Could not connect: [Errno -2] Name or service not known
[root@server ~]#
Run Code Online (Sandbox Code Playgroud)
我尝试了几种不同的rabbitmqadmin
命令,它们给出了相同的结果.如果我在没有额外参数的情况下运行命令,则会显示正常的帮助对话框.我有这个设置,并在其他几个服务器上工作.
根本问题是什么?如果没有,无论如何要获得更多细节,比如详细?
更新:
我只是试图检查rabbitmq的版本,它也产生了一个错误:
[root@server ~]# rabbitmqctl status
Status of node rabbit@server ...
Error: unable to connect to node rabbit@server: nodedown
DIAGNOSTICS
===========
attempted to contact: [rabbit@server]
rabbit@server:
* connected to epmd (port 4369) on server
* epmd reports node 'rabbit' running on port 25672
* TCP connection succeeded but Erlang distribution failed
* suggestion: hostname mismatch?
* suggestion: is the cookie set correctly?
current node details:
- node name: rabbitmqctl25451@server
- home dir: /var/lib/rabbitmq
- cookie hash: WXaeZT7XXm13naagfRX5cg==
[root@server ~]#
Run Code Online (Sandbox Code Playgroud)
我将要看看我是否可以从中找到一些东西......我发现这很奇怪,因为服务器正在传递消息,可以通过Web控制台进行监控.
Erlang版本:
[root@server rabbitmq]# erl -eval 'erlang:display(erlang:system_info(otp_release)), halt().' -noshell
"R14B04"
[root@server rabbitmq]#
Run Code Online (Sandbox Code Playgroud)
Rabbitmq版本:
[root@server rabbitmq]# python26 /usr/local/bin/rabbitmqadmin --version
rabbitmqadmin 3.3.5
[root@server rabbitmq]#
Run Code Online (Sandbox Code Playgroud)
经过多次挖掘和挫折之后,我发现了我的问题......我正在发布解决方案以防其他人有类似的经历
以前,我发现如果你在Linux服务器上设置RabbitMQ,那么更改它可以打破一些兔子配置的主机名.
关于这个问题的一个很棒的部分是有人将服务器的名称从所有大写字母改为小写...
我已经解决了以下两种方式之一:
解决方案1:
将主机名还原为以前的名称.这样,带有附加服务器名称的rabbitmq引用再次起作用.
解决方案2:
如果要更改服务器名称,则可以创建以下rabbitmq-env.conf
文件/etc/rabbitmq
:
NODENAME=rabbit@OLDHOSTNAME
Run Code Online (Sandbox Code Playgroud)
如果您不确定以前的名称是什么,可以ls
在/var/lib/rabbitmq/mnesia/
文件夹中进行引用.然后,您将看到一个与您需要指定的节点名匹配的文件夹.
参考:https://www.rabbitmq.com/man/rabbitmq-env.conf.5.man.html
更新:
主机名是CaSE SeNSiTIve ...如果有人在我身上更改主机名,唯一的区别就是这样......所以需要一段时间才能注意到......