首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

[札记]erlang集群常识(其实只是关于node的基本知识)

2013-07-11 
[笔记]erlang集群常识(其实只是关于node的基本知识)读书笔记 读书笔记 依旧是那本erlang/OTP并发编程实战

[笔记]erlang集群常识(其实只是关于node的基本知识)

读书笔记 读书笔记 依旧是那本erlang/OTP并发编程实战 买了纸质书懊悔不已 已打算再买图灵的电子版了...哎~~

?

在本机上建立一个node网络 和好几台计算机分别建一个node然后连接差不多是一样的

?

1.建立节点

要建立节点是很简单的(以下的实验都是在win下做得):

分别在三个cmd下输入


?

?

?

?

?

?

2.节点互联

接下去让节点间互联:

节点间:


?图中用a去连b 再用a去连c 然后就可以看到a b c都联通了?

erlang 默认下用的是全连接的方式 如图:


[札记]erlang集群常识(其实只是关于node的基本知识)
?

3.cookie

cookie是保证连接顺利的一个重要因素

如果两个node的cookie相同 那么就可以连接(以上的abc都在本机中 c:\user\dell\.erlang.cookie中)

如果cookie不相同 也可以设置一下 设置之后的node就可以连接

还是以上的图 我们让节点a退出(在abc互联下 如果不退出直接用auth:set_cookie/1改掉a的cookie 那a的连接还是保持的)

a退出后 只有bc保持互联?

可以看到 bc 的cookie是:


?(为什么觉得和手工配路由有点像啊....)

也就是各种"全双工“的拓扑只要你想建就建得起来,....不过一般没那么无聊吧 汗....

?

以上说过如果已经连通了 修改cookie不对连接产生影响 验证如下:

(b@dell-PC)3> nodes().['c@dell-PC','a@dell-PC'](b@dell-PC)4> auth:set_cookie('123456').true(b@dell-PC)5> net_adm:ping('a@dell-PC').pong(b@dell-PC)6> net_adm:ping('c@dell-PC').pong

?

?

?

?

?

总结一下命令吧:

erl -sname 名字 %建立一个node

net_adm:ping/1 %ping一个node pong就连接 pang表失败

auth:get_cookie/1 %获得当前node的cookie值

auth:set_cookie/1 %修改当前的node的cookie值(已连接下不会断开和其他node的连接)

auth:set_cookie/2 %第一个参数是另外一个node(node和cookie都是原子 用' ')第二个参数是那个node的cookie 用来让不同cookie的两个node连接

?

有错误一定要提啊...谢谢了

?

热点排行