2014-10-10 62 views
0

我曾經在一個盒子上運行兩個ejabberd服務器以及RabbitMQ服務器。然而,有些東西應聲而EPMD顯示什麼是以下幾點:Erlang epmd問題 - 同一主機上的RabbitMQ和Ejabberd

$ ./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運行 - 其他都死了,他們沒有監聽端口。現在,當我試圖啓動crabit RabbitMQ服務器或其他ejabberd服務器 - 他們都說ejabberdrabbitrabbit_crypto已經存在於節點上。

我試圖與-stop刪除,但它不工作:

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

回答

1

你怎麼知道有沒有兔子和ejabberd了嗎? 基於erlang的應用程序的典型問題是它的腳本使用了一些名爲'cookie'的服務進行通信。如果有人不小心刪除了這個祕密cookie,腳本停止工作。

儘量保證兔和ejabberd通過檢查ps aux | grep beam

+0

我檢查過(使用netstat)是否有應用程序在這些端口上偵聽。所有梁已經被移除。 – bluszcz 2014-10-13 07:47:23

0

停止如果你確信沒有二郎集羣代碼實際上是運行,當發生了,你應該實際上殺害/重啓EPMD。它有時會被舊數據卡住,導致您無法重新啓動服務。

+0

我不想殺死在同一個epmd上運行的其他節點。 – bluszcz 2014-12-03 16:07:57