Erlang epmd问题-RabbitMQ和Ejabberd在同一主机上



我曾经在一个盒子上运行两个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服务器时,它们都表示节点上已经存在ejabberdrabbit或者rabbit_crypto

我试图删除带有-stop的,但它不起作用:

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

你怎么知道已经没有兔子和精液了?基于erlang的应用程序的典型问题是,它的脚本使用了一种名为"cookie"的东西来与服务通信。如果有人不小心删除了这个秘密cookie,脚本就会停止工作。

通过检查ps aux | grep beam 来确保兔子和射精停止

如果您确定没有Erlang集群代码实际运行,那么当这种情况发生时,您应该实际终止/重新启动epmd。它有时会被旧数据卡住,使您无法重新启动服务。

最新更新