在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)
答案 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会对安全漏洞有一些很好的建议。虽然,我的主机/群集将不会连接到互联网。有什么顾虑吗?