将笔记本电脑移动到另一个网络后,无法连接到rabbitmq(甚至无法停止)

将笔记本电脑移动到另一个网络后,无法连接到rabbitmq(甚至无法停止),rabbitmq,rabbitmqctl,Rabbitmq,Rabbitmqctl,我已经在笔记本电脑上安装了RabbitMQ。我启动服务器rabbitmq server-detached,然后启动rabbitmqctl start_应用程序,一切正常,我的Java应用程序可以连接并发送/接收消息 $ rabbitmqctl start_app Starting node 'rabbit@11-020-7206' ... 但当我去另一个地方,那里的网络不同,笔记本电脑会有另一个主机名,我再也不能用它做任何事情了。如果我试图停止或启动它,我会得到一个错误,即节点已关闭 $ ra

我已经在笔记本电脑上安装了RabbitMQ。我启动服务器rabbitmq server-detached,然后启动rabbitmqctl start_应用程序,一切正常,我的Java应用程序可以连接并发送/接收消息

$ rabbitmqctl start_app
Starting node 'rabbit@11-020-7206' ...
但当我去另一个地方,那里的网络不同,笔记本电脑会有另一个主机名,我再也不能用它做任何事情了。如果我试图停止或启动它,我会得到一个错误,即节点已关闭

$ rabbitmqctl stop
Stopping and halting node 'rabbit@Mahdis-MacBook-Pro' ...
Error: unable to connect to node 'rabbit@Mahdis-MacBook-Pro': nodedown

DIAGNOSTICS
===========

attempted to contact: ['rabbit@Mahdis-MacBook-Pro']

rabbit@Mahdis-MacBook-Pro:
  * connected to epmd (port 4369) on Mahdis-MacBook-Pro
  * epmd reports node 'rabbit' running on port 25672
  * TCP connection succeeded but Erlang distribution failed
  * suggestion: hostname mismatch?
  * suggestion: is the cookie set correctly?
  * suggestion: is the Erlang distribution using TLS?

current node details:
- node name: 'rabbitmq-cli-14528@Mahdis-MacBook-Pro'
- home dir: /Users/mahdi
- cookie hash: HBqyY/jYPLAyrH1wt3dTWQ==
如果我尝试完全启动服务器,它会显示节点正在运行:

$ rabbitmq-server -detached
Warning: PID file not written; -detached was passed.
ERROR: node with name "rabbit" already running on "Mahdis-MacBook-Pro"

如何修复主机名以避免这种混淆?

您将rabbitmq节点启动为11-020-7206,然后将与网络相关的主机名更改为Mahdis MacBook Pro

通常,您应该始终具有相同的主机名,但如果不可能,则可以使用rabbitmqctl-n node_name

这里有一个例子:

gabrielesMacBookPro:sbin gabriele$ ./rabbitmqctl status
Status of node rabbit@gabrielesMacBookPro ...
[{pid,59273},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","3.5.5"},
     ...
在这里,我更改主机名:

gabrielesMacBookPro:sbin gabriele$ sudo hostname temp_hostname
Password:
gabrielesMacBookPro:sbin gabriele$ ./rabbitmqctl status
Status of node rabbit@temp_hostname ...
Error: unable to connect to node rabbit@temp_hostname: nodedown

DIAGNOSTICS
===========

attempted to contact: [rabbit@temp_hostname]
通过这种方式,我可以连接到正在运行的节点:

gabrielesMacBookPro:sbin gabriele$ ./rabbitmqctl -n rabbit@gabrielesMacBookPro status
Status of node rabbit@gabrielesMacBookPro ...
[{pid,59273},
 {running_applications,
     [{rabbitmq_management,"RabbitMQ Management Console","3.5.5"},
      {rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.5.5"},

希望能有所帮助

受@Gas建议的启发,我找到了一个解决办法。如果我将主机名更改回将笔记本电脑移动到第二个位置之前的状态,rabbitmq及其工具将重新开始工作

$ sudo hostname 11-020-7206
$ rabbitmqctl status
Status of node 'rabbit@11-020-7206' ...
[{pid,16230},
 {running_applications,[{rabbit,"RabbitMQ","3.5.4"},
....

谢谢,加油。当我从一个地方移动到另一个地方时,主机名会自动更改。当我在其他地方时,我会尝试你的建议,并会让你知道它是否有效。你的解决方案不起作用。如果我提供以前的名字rabbit@11-020-7206然后它甚至在更早的时候失败,无法连接到11-020-7206:nxdomain非现有域上的epmd端口4399。然而,如果我像您那样更改主机名,rabbitmq将再次工作。