0

我曾经在一个机器上运行两个 ejabberd 服务器和 RabbitMQ 服务器。但是,有些东西崩溃了,epmd 显示了以下内容:

$ ./epmd -names epmd: up and running on port 4369 with data: name ejabberdjabberpl at port 48654 name ejabberd at port 55243 name rabbit_crypto at port 25673 name rabbit at port 38794

但是,只有ejabberdjabberpl正在运行 - 其他都死了,它们没有在端口上监听。现在,当我尝试启动 crased RabbitMQ 服务器或其他 ejabberd 服务器时 - 他们都说节点上已经存在ejabberdrabbitrabbit_crypto 。

我试图删除 with -stop 但它不起作用:

$ ./epmd -stop rabbit epmd: local epmd responded with <>

4

2 回答 2

1

你怎么知道没有rabbit和ejabberd了?基于 erlang 的应用程序的典型问题是它的脚本使用称为“cookie”的东西与服务通信。如果有人不小心删除了这个秘密 cookie,脚本就会停止工作。

尝试通过检查确保rabbit和ejabberd停止ps aux | grep beam

于 2014-10-11T06:13:06.353 回答
0

如果您确定实际上没有 Erlang 集群代码正在运行,那么当这种情况发生时,您应该实际杀死/重新启动 epmd。它有时会被旧数据卡住,从而阻止您重新启动服务。

于 2014-12-02T09:17:00.043 回答