erl node启动方法

来源:互联网 发布:雅思姐软件 编辑:程序博客网 时间:2024/05/22 06:13
转载地址:http://www.iteye.com/topic/321933erl node启动方法

short name:

  • erl -sname Name
  • erl -sname Name@ShortHost

longname:

  • erl -name Name
  • erl -name Name@ShortHost
  • erl -name Name@FullHost

说明:

Name :: atom() || string()ShortHost :: atom() || string(), 不可含有"."。比如"myhost"FullHost :: [ShortHost()] || Ip, 比如"test.mydomain.com"和"8.34.135.3"

short name 和 long name主要为格式上的区别,long name中Host如果为域名,需要进行DNS解析。

我们也可以在hosts中添加类似:

ip ShotHost

的Entry使shortname name节点支持其他主机(请参考后面介绍)

 

Note

注意,shot name的节点和long name的节点不能互相通信。

示例

short name:

假设本机/etc/hosts配置为:8.27.86.135 da6600.fb.joyent.us

erl -sname cheng % 启动了一个名叫:cheng@da6600 的Node

erl -name cheng % 启动了一个名叫:cheng@da6600.fb.joyent.us 的Node

如果我们的本机hosts配置中,没有指定域名,那么需要我们指定Host:

erl -sname cheng@da6600 % 启动了一个名叫:cheng@da6600的Node

 

long name:

erl -name cheng@da6600

erl -name cheng@da6600.fb.joyent.us

erl -name cheng@8.27.86.135

请注意,此3个longname Node是同一个Node

应用

很多资料中,当进行分布式程序开发时,需要经历下面的步骤

  1. 本机单个节点进行测试,
  2. 本机多个节点进行测试,
  3. 多台主机进行接近真实环境的测试

其中第2步,常常是使用 erl -sname Name 类似的方法,产生Node, 因此我们印象中,好像sname只能是在本机的情况下使用?

通常情况下,shortname是限于本机的多个节点,longname可以跨越多台主机(通过IP,DNS解析)。

当然我们也可以像使用long name Node一样,使用short name Node。不同的是long name可以通过DNS进行解析, 而short name必须手动的在hosts中添加对应的映射。这样做的目的就是将本地的请求转发到目标的主机。

好了让我们使用short name来试验一下

server1(ip:8.27.86.135)

启动node:

erl -sname foo@server1

server2(server2也可以在内网当中,此时链接只能由server2发起)

/etc/hosts中添加:

8.27.86.135 server1

随后启动node:

erl -sname bar> net_kernel:connect_node('foo@server1').true> nodes().> [foo@server1]

这样,两个节点就已经链接了。

同理,我们也可以在server1中添加一个条目,为server2其一个ShortName,随后连接它。

到此,对于short name, long name的使用应该比较清晰了。

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
阅读(1070) | 评论(0) | 转发(0) |
0

上一篇:学习的好网站总结

下一篇:erlang中io:format数据类型

相关热门文章
  • [官版翻译ing]OpenStack云计算...
  • [官版翻译ing]OpenStack云计算...
  • hive的安装和配置
  • OpenStack安装记
  • LVS最简集群配置实战
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
原创粉丝点击