2011-01-31 58 views

回答

9

有点低级别池是slave(3)模块。池建立在从属功能上。

使用slave:start启动一个新的从站。

您应该也可以在命令行上指定-rsh ssh

因此,如果您需要其提供的功能,请使用游泳池,如果您需要不同的东西,可以自己从奴隶中构建它。

11

有一个pool(3)设施:

池可用于运行一套 Erlang节点作为 计算处理器池。它是由 组成的一个主节点和一组 从节点。

pool:start/1,2启动一个新的池。 将文件.hosts.erlang读取到 查找池节点 可以启动的主机名。从节点为 ,其以slave:start/2,3, 开头,经过Name,并且如果提供的话, ArgsName用作节点名称的第一个 部分,Args用于指定命令行参数。

随着游泳池,你可以免费获得负载分配设施。

主节点可能会启动这样:

erl -sname poolmaster -rsh ssh 

主要-rsh这里指定的远程主机上启动一个从节点到rsh替代。我们在这里使用了SSH。确保你的机器有SSH密钥,并且你可以使用这些密钥对远程主机进行身份验证。

如果文件.hosts.erlang中没有主机,则不会启动从属节点,如果需要,可以使用slave:start/2,3手动启动从属节点传递参数。

你可以,例如启动远程节点:

Arg = "-mnesia_dir " ++ M, 
slave:start(H, Name, Arg). 

确保epmd(1)启动并在远程机器上运行以启动Erlang节点。

希望有所帮助。