You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Andrea Brancatelli <ab...@schema31.it.INVALID> on 2021/07/15 09:11:04 UTC

CouchDB and RabbitMQ clusters

Hello everybody, 

I have a general Erlang question but I think you could help me with
that... 

I need to run CouchDB and RabbitMQ on the same set of (three) nodes, all
clustered together. 

What happens with epmd? Erlang's documentation
(https://erlang.org/doc/man/epmd.html) is pretty vague: "The daemon is
started automatically by command erl(1) [1] if the node is to be
distributed and no running instance is present."... 

So what happens? The first one between Couch and Rabbit who starts opens
epmd and the second one just hooks to the already running copy?

Thanks. 

-- 

Andrea Brancatelli

 

Links:
------
[1] https://erlang.org/doc/man/erl.html

Re: CouchDB and RabbitMQ clusters

Posted by Robert Newson <rn...@apache.org>.
Just agreeing with all previous responses but would add that it might make sense in your setup to put epmd under direct management (runit, systemd, etc) and arrange for it to start  before either service. And another note that if epmd _crashes_ then existing nodes do not re-register (and that’s as fun as it sounds). Epmd is very reliable but I have encountered it crashing under heavy registration load (caused by a faulting application).

B.

> On 15 Jul 2021, at 17:53, Joan Touzet <wo...@apache.org> wrote:
> 
> I have seen it work this way myself with these two applications. Whoever
> starts first starts epmd, and the second sees epmd running on startup
> and simply connects to that.
> 
> -Joan
> 
> On 15/07/2021 10:10, Adam Kocoloski wrote:
>> That’s typically how it works for a well-behaved Erlang application, yes. CouchDB does work this way; I’m not 100% certain about RabbitMQ but it probably does as well. Cheers,
>> 
>> Adam
>> 
>>> On Jul 15, 2021, at 5:11 AM, Andrea Brancatelli <ab...@schema31.it.invalid> wrote:
>>> 
>>> Hello everybody, 
>>> 
>>> I have a general Erlang question but I think you could help me with
>>> that... 
>>> 
>>> I need to run CouchDB and RabbitMQ on the same set of (three) nodes, all
>>> clustered together. 
>>> 
>>> What happens with epmd? Erlang's documentation
>>> (https://erlang.org/doc/man/epmd.html) is pretty vague: "The daemon is
>>> started automatically by command erl(1) [1] if the node is to be
>>> distributed and no running instance is present."... 
>>> 
>>> So what happens? The first one between Couch and Rabbit who starts opens
>>> epmd and the second one just hooks to the already running copy?
>>> 
>>> Thanks. 
>>> 
>>> -- 
>>> 
>>> Andrea Brancatelli
>>> 
>>> 
>>> 
>>> Links:
>>> ------
>>> [1] https://erlang.org/doc/man/erl.html
>> 


Re: CouchDB and RabbitMQ clusters

Posted by Joan Touzet <wo...@apache.org>.
I have seen it work this way myself with these two applications. Whoever
starts first starts epmd, and the second sees epmd running on startup
and simply connects to that.

-Joan

On 15/07/2021 10:10, Adam Kocoloski wrote:
> That’s typically how it works for a well-behaved Erlang application, yes. CouchDB does work this way; I’m not 100% certain about RabbitMQ but it probably does as well. Cheers,
> 
> Adam
> 
>> On Jul 15, 2021, at 5:11 AM, Andrea Brancatelli <ab...@schema31.it.invalid> wrote:
>>
>> Hello everybody, 
>>
>> I have a general Erlang question but I think you could help me with
>> that... 
>>
>> I need to run CouchDB and RabbitMQ on the same set of (three) nodes, all
>> clustered together. 
>>
>> What happens with epmd? Erlang's documentation
>> (https://erlang.org/doc/man/epmd.html) is pretty vague: "The daemon is
>> started automatically by command erl(1) [1] if the node is to be
>> distributed and no running instance is present."... 
>>
>> So what happens? The first one between Couch and Rabbit who starts opens
>> epmd and the second one just hooks to the already running copy?
>>
>> Thanks. 
>>
>> -- 
>>
>> Andrea Brancatelli
>>
>>
>>
>> Links:
>> ------
>> [1] https://erlang.org/doc/man/erl.html
> 

Re: CouchDB and RabbitMQ clusters

Posted by Adam Kocoloski <ad...@kocolosk.net>.
That’s typically how it works for a well-behaved Erlang application, yes. CouchDB does work this way; I’m not 100% certain about RabbitMQ but it probably does as well. Cheers,

Adam

> On Jul 15, 2021, at 5:11 AM, Andrea Brancatelli <ab...@schema31.it.invalid> wrote:
> 
> Hello everybody, 
> 
> I have a general Erlang question but I think you could help me with
> that... 
> 
> I need to run CouchDB and RabbitMQ on the same set of (three) nodes, all
> clustered together. 
> 
> What happens with epmd? Erlang's documentation
> (https://erlang.org/doc/man/epmd.html) is pretty vague: "The daemon is
> started automatically by command erl(1) [1] if the node is to be
> distributed and no running instance is present."... 
> 
> So what happens? The first one between Couch and Rabbit who starts opens
> epmd and the second one just hooks to the already running copy?
> 
> Thanks. 
> 
> -- 
> 
> Andrea Brancatelli
> 
> 
> 
> Links:
> ------
> [1] https://erlang.org/doc/man/erl.html