0

I used to run two ejabberd servers along with RabbitMQ server on one box. However, something crashed and epmd shows what is following:

$ ./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

However, only ejabberdjabberpl running - other are dead and they are not listening on the ports. Now, when I am trying to start crased RabbitMQ server or other ejabberd server - they both says that ejabberd or rabbit or rabbit_crypto already exist on the node.

I tried to remove the with -stop but it does not work:

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

bluszcz
  • 4,054
  • 4
  • 33
  • 52

2 Answers2

1

How did you know that there is no rabbit and ejabberd anymore? Typical problem with erlang-based applications is that it's scripts used something called 'cookie' to communicate with services. And if someone accidentally deletes this secret cookie, scripts stop working.

Try to ensure that rabbit and ejabberd stopped by inspecting ps aux | grep beam

danechkin
  • 1,306
  • 8
  • 15
  • I have checked (using netstat) if there are application listening on these ports. All beams have been removed earlier. – bluszcz Oct 13 '14 at 07:47
0

If you are sure that no Erlang cluster code is actually running, when that happen, you should actually kill / restart epmd. It sometimes get stuck with old data, preventing you to restart your service.

Mickaël Rémond
  • 9,035
  • 1
  • 24
  • 44