programming erlang - Distributed 那章的实验

试了下programming erlang distributed 那章的例子,记录一下

一. erl -name

实验一:

我把kvs那个程序放在了A,B两台服务器上,这两台服务器的hostname()都没设置

在B服务器上执行了 erl -name [email protected] -setcookie abc
然后 kvs:start().

在A服务器上 首先配置etc/hosts   B服务器地址    erlang.xxxx.com
然后启动shell  erl -name me -setcookie abc
执行:rpc:call([email protected],kvs,lookup,[k1]).

执行成功

实验二:

在A服务器/etc/hosts上添加了  ->  B服务器地址   erlang

在B服务器上执行 erl -name bachmozart@erlang -setcookie abc
kvs:start().

在A服务器上执行 erl -name mi -setcookie abc
执行:rpc:call(bachmozart@erlang,kvs,store,[k1,v1]).

执行失败:错误信息
=ERROR REPORT==== 25-Mar-2009::13:31:29 ===
** System running to use fully qualified hostnames **
** Hostname erlang is illegal **

二. erl -sname

实验一:

在B服务器上
erl -sname bachmozart@erlang -setcookie abc
kvs:start().

A服务器上
erl -sname mii -setcookie abc
rpc:call(bachmozart@erlang,kvs,store,[k1,k2]).

执行成功

实验二:
在B服务器上
erl -sname [email protected] -setcookie abc

启动失败

在概念上有了些认识,不过现在还不敢妄下结论

应该试下直接通过DNS的方式,公司的DNS是负载均衡到N多台机器的,没法实验了






你可能感兴趣的:(erlang)