分布式Erlang:了解远程主机和启动功能
我正在尝试实现一个非常简单的示例,以便首先了解分布式Erlang。因此,我在同一台机器上启动两个节点:分布式Erlang:了解远程主机和启动功能,erlang,distributed-computing,Erlang,Distributed Computing,我正在尝试实现一个非常简单的示例,以便首先了解分布式Erlang。因此,我在同一台机器上启动两个节点: erl -sname dilbert erl -sname dogbert 任务是dogbert生成dilbert输出Hello,World使用一个简单的fun()->io:format(“你好,世界!”)在节点dilbert上结束。我认为这将很容易与dogbert的外壳: (dogbert@centraldogma.fubar)1> spawn(dilbert, fun () -&g
erl -sname dilbert
erl -sname dogbert
任务是dogbert
生成dilbert
输出Hello,World代码>使用一个简单的fun()->io:format(“你好,世界!”)在节点dilbert
上结束。我认为这将很容易与dogbert
的外壳:
(dogbert@centraldogma.fubar)1> spawn(dilbert, fun () -> io:format("HELLO!") end).
<0.39.0>
=ERROR REPORT==== 13-Jun-2012::17:49:04 ===
** Can not start erlang:apply,[#Fun<erl_eval.20.82930912>,[]] on dilbert **
(dogbert@centraldogma.fubar)1> 繁殖(dilbert,fun()->io:format(“HELLO!”)结束)。
=错误报告===2012年6月13日::17:49:04===
**无法在dilbert上启动erlang:apply、[#Fun、[]]**
在同一个shell中,使用节点()。
输出[]
。嗯,dogbert
显然不知道dilbert
,但为什么会这样呢?或者,如何使分布式erlang中的节点相互了解?有两个问题:
必须为这两个节点设置一个公共cookie,以便它们可以交互
erl-sname dilbert-setcookie pointyhairedboss
erl-sname dogbert-setcookie pointyhairedboss
必须指定要连接到的节点的主机名。
产卵('dogbert@yourhostname,fun()->io:format(“HELLO!”)end)
有两个问题:
必须为这两个节点设置一个公共cookie,以便它们可以交互
erl-sname dilbert-setcookie pointyhairedboss
erl-sname dogbert-setcookie pointyhairedboss
必须指定要连接到的节点的主机名。
产卵('dogbert@yourhostname,fun()->io:format(“HELLO!”)end)
因为他在同一台机器上启动了它们(可能来自同一个用户帐户),所以它们应该自动获得相同的默认cookie。因为他在同一台机器上启动了它们(可能来自同一个用户帐户),所以它们应该自动获得相同的默认cookie。