论坛首页 综合技术论坛

programming erlang - Distributed 那章的实验

浏览 1831 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-25   最后修改:2009-03-25
试了下programming erlang distributed 那章的例子,记录一下

一. erl -name

实验一:

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

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

在A服务器上 首先配置etc/hosts   B服务器地址    erlang.xxxx.com
然后启动shell  erl -name me -setcookie abc
执行:rpc:call(bachmozart@erlang.xxxx.com,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 bachmozart@erlang.xxxx.com -setcookie abc

启动失败

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

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






   发表时间:2009-03-27  
short name和longname是无法相互通信的哦
0 请登录后投票
   发表时间:2009-03-27  
mryufeng 写道
short name和longname是无法相互通信的哦


呵呵,老大果然是有问必答,等我erlang的基础好点了再向你请教哈
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics