[erlang-questions] Configuring an erlang cluster

Michele Sciabarra msciab@REDACTED
Sat Oct 18 23:48:23 CEST 2008


I am trying to set up an erlang cluster. I am trying to put in a cluster 
mochiweb.

What I want to do is to have a master boot server, and slave nodes pick 
their code from the master.

I have followed Joel Reymond tutorial in his blog
(http://www.wagerlabs.com/blog/2007/10/setting-up-erla.html)
It works when I start a second node in the same machine.
It does not work when I start a second node in a remote machine.

I have done a .rel and generated a boot script with the local option, 
and I am also using cean.
On the master I run (boot_server is a simple module that calls 
erl_boot_server:start(...))

 /cean/start.sh  -name e1 -setcookie xxx -s boot_server

On the slaves I run

 /cean/start.sh \
  -name  e2 -id e2 -setcookie xxx \
  -loader inet -hosts 10.0.1.1  -boot /cean/erlang/boot/demoweb -mode 
embedded

I get:

** Bad path can't read /cean/erlang/boot
** Bad path can't read /cean/erlang/lib/mochiweb-0.01/ebin
** Bad path can't read /cean/erlang/lib/demoweb-0.01/ebin

Note that running those commands in the same node works, even using a 
different erlang installation, not having mochiweb and demoweb installed.

I was expectiing that the inets loader is able to fetch beam code from 
the boot server, but this seems not to be the case.

I am afraid I am missing something of basic and fundamental, but reading 
the OTP documentation I was unable to figure out how this should work.

Have I to copy all the files in the slave machine? 
What is the purpose of the systools:make_tar ?
Should instead generate a tar to allow the boot server to distribuite 
the application?

A normal j2ee based cluster  is usually able to copy a war file from the 
master to the slave nodes automatically. I was expecting something similar.

Any help will be appreciated.




More information about the erlang-questions mailing list