[ejabberd] Node Clustering issue

Florian Jensen admin at flosoft.biz
Wed Jun 11 20:48:06 MSD 2008


Ok, I got it running. I now can access the erlang console.

So, now, how can I let it sync all? And how can I let it start 
automatically in cluster mode?

Florian Jensen

Florian Jensen wrote:
> still no luck. Same error.
>
> Matthew Reilly wrote:
>> Matthew Reilly wrote:
>>> Florian Jensen wrote:
>>>
>>>> Hi,
>>>>
>>>> I have been trying to get a cluster working for the last few hours,
>>>> without any luck.
>>>>
>>>> I am running: jabber at ds2581:~/ejabberd-2.0.1$ erl -sname ejabberd
>>>> -mnesia extra_db_nodes "['ds2248.flosoft-servers.net']" -s mnesia
>>>> Erlang (BEAM) emulator version 5.5.5 [source] [64-bit] [async-threads:0]
>>>> [kernel-poll:false]
>>>>
>>>>
>>>>
>>> I see two issues with your command:
>>>
>>> The extra_db_nodes needs to be in the format<name>@<node>
>>> Where:
>>> 1)<name>   is what is passed to the -sname (or -name) argument of the
>>> node you're clustering with.
>>> 2) If the main node was started with -sname,<node>   is just the first
>>> part of the host name. If it was started with -name,it would be the full
>>> part of the hostname.
>>>
>>> e.g.
>>> If your main node was started with "erl -sname ejabberd ..." on the host
>>> ds2248.flosoft-servers.net, use:
>>> -mnesia extra_db_nodes "['ejabberd at ds2248']"
>>>
>>> If your main node was started with "erl -name ejabberd ..." on the host
>>> ds2248.flosoft-servers.net, use:
>>> -mnesia extra_db_nodes "['ejabberd at ds2248.flosoft-servers.net']"
>>>
>>>
>> I forgot to mention, if the main server was started with -sname, your
>> new nodes must as well. Likewise if the main server was started with
>> -node, your new node must as well.
>>
>> If you don't know which one was used, all the ejabberd
>> documentation/scripts use -sname by default.
>>
>> So the examples become:
>>
>> $ erl -sname ejabberd -mnesia extra_db_nodes "['ejabberd at ds2248']" -s mnesia
>>
>> and
>>
>> $ erl -name ejabberd -mnesia extra_db_nodes "['ejabberd at ds2248.flosoft-servers.net']" -s mnesia
>>
>>
>>
>>
>>
>>> Two other possible gotchas:
>>> 3) Make sure that the .erlang.cookie in the ejabberd user's home
>>> directory on the second machine is the same as on the system you're
>>> trying to cluster with. (Note: the .erlang.cookie file generally does
>>> *not* have a newline at the end, so if you just open the file in an
>>> editor, copy the text from the first server, and save, the editor will
>>> add a newline -- causing clustering to fail). This is true for
>>> UNIX/Linux type systems. I don't know where the erlang cookie is stored
>>> on Windows types systems.
>>>
>>> 4) clustering is not IP transparent. i.e. if example1.net and
>>> example2.net both resolve to 1.2.3.4, they still aren't equivalent:
>>> ejabberd at example1.net and ejabberd at example2.net are not equivalent. The
>>> name you use needs to be the same one you get with the "hostname"
>>> command on the main server. (Again, that's true for UNIX/Linux. I'm not
>>> sure about Windows)
>>>
>>> To see what node name is being use on the server you're trying to
>>> cluster with, run this command on the main server:
>>> erl -sname test -eval 'io:format("~nMy node: ~p~n",[node()]), halt().'
>>>
>>> (If the main ejabberd was started with -name, replace -sname with -name
>>> in the above command)
>>>
>>>
>>>> {"init terminating in
>>>> do_boot",{undef,[{mnesia,start,[]},{init,start_it,1},{init,start_em,1}]}}
>>>>
>>>> Crash dump was written to: erl_crash.dump
>>>> init terminating in do_boot ()
>>>> jabber at ds2581:~/ejabberd-2.0.1$
>>>>
>>>> But this fails. The cookies are correct. I have been following the
>>>> official documentation:
>>>> http://www.process-one.net/docs/ejabberd/guide_en.html#htoc71
>>>>
>>>> Any help would be appreciated.
>>>>
>>>> Greets,
>>>>
>>>> Florian Jensen
>>>> _______________________________________________
>>>> ejabberd mailing list
>>>> ejabberd at jabber.ru
>>>> http://lists.jabber.ru/mailman/listinfo/ejabberd
>>>>
>>>>
>>>>
>>> _______________________________________________
>>> ejabberd mailing list
>>> ejabberd at jabber.ru
>>> http://lists.jabber.ru/mailman/listinfo/ejabberd
>>>
>>>
>> _______________________________________________
>> ejabberd mailing list
>> ejabberd at jabber.ru
>> http://lists.jabber.ru/mailman/listinfo/ejabberd
> _______________________________________________
> ejabberd mailing list
> ejabberd at jabber.ru
> http://lists.jabber.ru/mailman/listinfo/ejabberd


More information about the ejabberd mailing list