添加主机后PVM终止

时间:2010-02-12 16:32:30

标签: cloud ubuntu-9.10 hpc pvm

在Ubuntu 9.10上使用PVM 3.4.5-12(使用apt-get时的PVM包) 添加主机后程序终止。

laptop> pvm
pvm> add bowtie-slave
add bowtie-slave
terminated
laptop>

仅限当前配置$ PVM_RSH = bin / usr / ssh
我可以在没有密码的情况下完全正确地进入奴隶,并在其上运行命令。

任何想法?
提前谢谢!

以下是示例日志:

笔记本电脑日志

[t80040000] 02/11 10:23:32笔记本电脑(127.0.1.1:xxxxx)LINUX 3.4.5
[t80040000] 02/11 10:23:32准备好2月11日星期二10:23:32 [t80040000] 02/11 10:23:32 netoutput()sendto:errno = 22
[t80040000] 02/11 10:23:32 em = 0x2c24f0
[t80040000] 02/11 10:23:32 [49 /à] [6e /à] [76 /à] [61 /à] [6c /à] [69 /à] [64 /à] [20 /à ] [61 / A] [72 / A]
[t80040000] 02/11 10:23:32 netoutput()sendto:无效的参数
[t80040000] 02/11 10:23:32 pvmbailout(0)

领结日志

[t80080000] 02/11 10:23:25 bowtie-slave(xxx.x.x.xxx:xxxxx)LINUX64 3.4.5
[t80080000] 02/11 10:23:25准备好2月11日星期二10:23:25 [t80080000] 02/11 10:28:26 work()run = STARTUP,等待主人超时 [t80080000] 02/11 10:28:26 pvmbailout(0)

3 个答案:

答案 0 :(得分:2)

我也一直在努力解决这个问题。我刚发现了一些对我来说失败的事情。

首先,我的主控主机以从属主机无法识别的节点名开始。也就是说,它称自己为“foobar”,但它确实应该是“foobar.example.com”,以便奴隶知道如何与它交谈。您可以通过启动主控制台来指定:

pvm -nfoobar.example.com

我还指定了奴隶的全名。所以在控制台中:

add baz.mumble.example.com

然后我遇到了一个问题,当我添加奴隶时控制台会挂起。嘿,至少它不只是停止!我发现这是因为从属主机上的防火墙---通信被丢弃(pvmd在安装后不通过ssh进行通信,他们有另一个端口可以通话)。不幸的是,没有防火墙的运行不是该主机的选择。默认情况下,pvmd选择一个随机端口号,这不是我想要的。显然,有一个未记录的环境变量PVMNETSOCKPORT,它控制着它使用的端口。现在我正在努力正确设置,以便我可以在我的防火墙中找到正确的洞。

祝你好运!如果我再往前走,我会尝试更新这个答案。

答案 1 :(得分:1)

啊......启动PVM的乐趣!我通过外部库InterComm使用PVM。让PVM在任何平台上很好地启动总是一个有趣的练习。以下是您可以尝试的一些事项:

如果可以rsh到计算节点,请设置$PVM_RSH=/path/to/rsh。否则,要通过ssh进行配置:

设置passwordless SSH并手动验证其是否有效。

然后,创建$PVM_ROOT/ssh,其中包含:

#!/bin/sh

host=$1
shift
/usr/bin/ssh $host ". ~/.pvmprofile; $@"

一旦得到照顾:

设置一些环境变量(这取决于机器):

setenv PVM_ARCH LINUX64
setenv PVM_ROOT /users/ps14/opt-intel/pvm3
setenv PVM_BIN ${PVM_ROOT}/bin

# Set the following accordingly:    
setenv PVM_RSH ${PVM_ROOT}/ssh
#setenv PVM_RSH rsh

现在,创建一个包含以下变量的“.pvmprofile”文件:

rm -f ~/.pvmprofile
env | grep PVM_ > ~/.pvmprofile

创建包含唯一主机名的主机文件:

sort -k 1,1 -u ${PBS_NODEFILE} >!  pvm_hostfile

现在,启动PVM&添加节点。我喜欢这样做:

printf "%s\n%s\n" conf quit|${PVM_ROOT}/lib/pvm pvm_hostfile

答案 2 :(得分:0)

直到现在我才意识到我可以回答我自己的问题。 它失败的原因是由于/ etc / hosts中的hosts文件。

Ubuntu将localhost设置为127.0.0.1 localhost,但是,使用PVM时,它必须使用真实的IP地址。因此,我将实际IP地址后跟我的机器名称放在localhost之上,因此PVM将首先读取该行。然后一切正常。我不知道为什么它从来没有给我回送错误信息。

正如rescdsk所评论的那样,说明使用哪个启动主控制台也可以正常工作,但我想要懒惰,只需键入pvm即可。

我还没有解决安全问题......也许rescdsk或Pete会对安全漏洞有一些很好的建议。虽然,我的主机/群集将不会连接到互联网。有什么顾虑吗?