0
votes

I was following this guide to set up jabbed on cluster http://chadillac.github.io/2012/11/17/easy-ejabberd-clustering-guide-mnesia-mysql/

I am using two was instances having ip

Master -> 111.222.333.444 Slave -> 222.333.444.555

But since I do not have DNS configured so I am using ip addresses like 111.222.333.444 etc instead of ‘master.domain.com’ .

I haven’t been successful at seeing up the cluster yet but before that I am having a problem at my master node .

I start the server with

/tmp/ej1809/sbin/ejabberdctl start

Then I get no output but I see in the logs that that the server started.

then I check the status using

/tmp/ej1809/sbin/ejabberdctl status 

But I get the error as

Failed RPC connection to the node '[email protected]’: nodedown

And even when I try to stop the node using /tmp/ej1809/sbin/ejabberdctl stop then also I get

Failed RPC connection to the node '[email protected]’: nodedown

But I cannot understand the reason behind it.

Can anyone help me solve it please?

1
Is 111.222.333.444 a real machine IP address, one that programs can use? I mean, if you call "ping 111.222.333.444", will that work?Badlop
yes, it's a real machine(could not share the actual ip address). and yes "ping 111.222.333.444" works.I have checked it already.abhishek ranjan

1 Answers

2
votes

Stop and kill processes like epmd, erl, beam.

Then start ejabberd with "ejabberdctl live", that will keep the erlang shell open for you to see the log messages in realtime, including the erlang node name:

...
13:21:22.662 [info] ejabberd 19.02.52 is started in the node ejabberd@localhost in 7.07s
13:21:22.667 [info] Start accepting TCP connections at 0.0.0.0:5444 for ejabberd_http
13:21:22.667 [info] Application ejabberd started on node ejabberd@localhost

You can check if "epmd" knows about that node:

$ epmd -names
epmd: up and running on port 4369 with data:
name ejabberd at port 33519

Then let's see if ejabberdctl can connect with that node:

$ ejabberdctl help | grep "node name:"
  --node nodename    ejabberd node name: ejabberd@localhost

And finally:

$ ejabberdctl status
The node ejabberd@localhost is started with status: started
ejabberd 19.02.52 is running in that node

I assume you didn't yet edit anything in ejabberdctl.cfg, specifically the ERLANG_NODE. But if you did, I recommend to reinstall ejabberd, to ensure you have default configuration, and then retry those steps. Once ejabberd works perfectly, you can start modifying the configuration files (ejabberd.yml and ejabberdctl.cfg) to suit your real requirements (clustering, etc).

At some time, if you have problems setting clustering, you may find some ideas to debug the problem in https://ejabberd.im/interconnect-erl-nodes/index.html