I'm using ejabberdctl of ejabberd 2.1.11, so this may no longer apply. We have installed two ejabberd nodes on the same box using different IP addresses (2 NICs on the same box) and the nodes are each uniquely named. One is "ejabberd" and the other is "ejabberd2". When starting the second one, we get the response from ejabberdctl start of
ejabberd node is registered, but no ejabberd process has been found.
can not kill epmd as other erlang nodes are running.
please stop all erlang nodes, and call 'epmd -kill'.
I discovered a slight bug of inclusiveness in the ejabberdctl check_start function where ejabberd is found inside of ejabberd2. The line of code that needs to be changed is
epmd -names 2>/dev/null | grep -q ${ERLANG_NODE%@*} && {
And needs to be changed to
epmd -names 2>/dev/null | grep -q " ${ERLANG_NODE%@*} " && {
since the return of epmd -names reads like
name ejabberd2 at port 39387
Forcing the space addition on each end to the regex guarantees a full match of the node name.
The problematic code is in
The problematic code is in the Binary installer script. I've submitted the bugfix to a ticket here:https://support.process-one.net/browse/EJAB-1611