[ejabberd] Clustering question...

Felix GV felix at mate1inc.com
Tue May 8 21:54:19 MSK 2012


Hmm... ok thanks :)

--
Felix



On Tue, May 8, 2012 at 2:55 AM, Michael Weibel <michael.weibel at gmail.com>wrote:

> Hi Felix,
>
> First, full disclosure: The project I'm working on and which will
> massively use ejabberd is not live yet, so I'm not production proven yet.
>
> > It does seem to work when I take off the extra_db_nodes parameter from
> the start up script. So that parameter is just for setting up replication,
> you say? Interesting...!
> >
> > However, the official guide and the one I linked to mention to add this
> parameter to the second (or extra) node only. In my case, it seems the
> clustering was not proper until I also added the parameter to the
> first/original node. But you are right that once the clustering is set up,
> then it seems possible to take off that parameter and things still work
> (with the expected fault-tolerance and all)...!
> >
> > In your experiments, did you (initially) add that parameter to all
> nodes, or were you able to get things working correctly by adding it to the
> second node only? I'm wondering if I'm coming to the right conclusions, or
> if something else is going on in my environment that would have caused the
> behavior I observed...!
>
> Basicly as we setup the clustering in our test environment we did it more
> or less this way:
>
> - Modify ejabberdctl.cfg to have the correct ERLANG_NODE setting (both
> nodes)
> - Copy .ejabberd.cookie from first node to second node
> - Stop ejabberd on first node
> - erl -sname SECOND_ERLANG_NODE -mnesia extra_db_nodes
> "['FIRST_ERLANG_NODE']" -mnesia dir '"var/lib/ejabberd/"'
> - mnesia:change_table_copy_type(schema, node(), disc_copies).
> - q().
> - start ejabberd on first node again
> - go to webinterface of first node and you should see the second node
> - go to webinterface of second node and change all mnesia table copy types
> to match the ones from first node (you can do that from the cli as well but
> on the webinterface it's much easier to do for only a few nodes)
>
> This should work without specifying extra_db_nodes at all after the first
> setup.
>
> Basicly I have been told that clustering in erlang is done solely by
> replicating the mnesia tables. Everything else works out of the box due to
> built-in clustering in erlang.
>
> > Regarding your other comment: I am surprised that you say the
> configuration of Mnesia should be the same on both/all nodes, because that
> would imply that Remote copies are never ok. Is that what you mean?
>
> I'm not yet at the point to say that for sure. But anyway if you need to
> scale, you should use mnesia as less as possible (better use
> PostgreSQL/MySQL)..
>
> >
> > I'm definitely looking forward to reading your blog posts on the
> subject! Do post them here once you write them, please :) !
>
> Of course I will do that :)
>
> - Michael
>
> _______________________________________________
> ejabberd mailing list
> ejabberd at jabber.ru
> http://lists.jabber.ru/mailman/listinfo/ejabberd
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.jabber.ru/pipermail/ejabberd/attachments/20120508/246d21ad/attachment.html>


More information about the ejabberd mailing list