Deployment of Erlang code on numerous nodes

Francesco Cesarini <>
Wed Dec 6 10:51:42 CET 2000


Hi Alexis,
what you want to do makes perfect sense..

To load the code off another node, you should set the -loader flag (when
starting erl) to inet, and -hosts IP to point where your boot server is
running : from the erl man page:

[loader]  Specifies the name of the loader used to  load  Erlang
           modules   into  the  system.  See  erl_prim_loader(3).
           Loader can be efile (use the local  file  system),  or
           inet  (load  using  the  boot_server on another Erlang
           node). If Loader is something else, the user  supplied
           Loader port program is started.

           If the -loader flag is omitted efile is assumed.

To start the system, you should encapsulate everything into OTP
applications, create a few rel files and create boot files to start your
system. You can then use local configuration files, or retrieve your
data from other nodes using distributed mnesia tables, a global server
or rpc:s.

If you want to deploy hundreds of Erlang nodes, you would have to some
how partition your network, as Erlang nodes will by default create fully
meshed networks, and result in a an overhead when keeping the links up.
There are ways of handling this either with cookie manipulation or by
setting some flags and default parameters at startup.

SOunds like cool stuff you guys are putting together...

Regards,
Francesco

> I'm trying to come up with a scheme to deploy erlang code to tens (even
> hundreds) of machines, assuming that the machines have the erlang run-time
> (e.g. the erlang rpm) installed and a simple startup script. From there the
> machines should be able to load the code they need, access a configuration
> database (stored in Mnesia for instance) for various parameters and start
> running.  Are there any facilities that implement that kind of
> functionality? Is it the right thing to do in the first place? Rather than
> writing perl scripts to fetch the code by ftp and so on to deploy, I'd
> rather have as many things defined within Erlang itself.
> 
> Alexis Le-Quoc
> 
> P.S. : The question is also available on the erlang wiki -
> QuestionsAndAnswers.

-- 
Francesco Cesarini

Erlang/OTP consultant
Cellular: INT+44-7776 250381 
ECN: 832-707192



More information about the erlang-questions mailing list