在使用PVM 3.4.5-12 (使用apt-get时是PVM包)的Ubuntu 9.10上,程序在添加主机后终止。
laptop> pvm
pvm> add bowtie-slave
add bowtie-slave
terminated
laptop>仅当前配置$PVM_RSH = bin/usr/ssh
我可以在没有密码的情况下通过ssh很好地进入从机,并在其上运行命令。
有什么想法吗?
提前感谢!
以下是示例日志:
笔记本电脑日志
LINUX 02/11 10:23:32 laptop (127.0.1.1:xxxxx) t80040000 3.4.5
t80040000 02/11 10:23:32准备好青华Feb 11 10:23:32 2010
t80040000 02/11 10:23:32网络输出()发送至: errno=22
t80040000 02/11 10:23:32 em=0x2c24f0
t80040000 02/11 10:23:32 49/à76/à6c/à64/à61/à
t80040000 02/11 10:23:32 netoutput() sendto:无效参数
t80040000 02/11 10:23:32 pvmbailout(0)
领结-原木
t80080000 02/11 10:23:25弓形从(xxx.x.x.xxx:xxxxx) LINUX64 3.4.5
t80080000 02/11 10:23:25准备好2010年2月11日10:23:25
t80080000 02/11 10:28:26 work() run =启动,等待主机超时
t80080000 02/11 10:28:26 pvmbailout(0)
发布于 2010-02-23 00:11:47
我也一直在努力解决这个问题。我只是发现了一些对我来说失败的事情。
首先,我的主主机启动时使用了从属主机无法识别的node-name。也就是说,它将自己称为"foobar“,但它实际上应该是"foobar.example.com”,这样从属程序才知道如何与它交谈。您可以通过启动主控制台来指定它,如下所示:
pvm -nfoobar.example.com我还指定了从服务器的全名。所以在控制台中:
add baz.mumble.example.com然后我遇到了一个问题,当我添加从设备时,控制台会挂起。嘿,至少它不是停下来了!我发现这是因为从属主机上的防火墙-通信被丢弃(pvmd在设置后不通过ssh通信,它们有另一个端口可以交谈)。不幸的是,在没有防火墙的情况下运行不是该主机的选择。默认情况下,pvmd会随机选择一个端口号,这不是我想要的。显然,有一个未记录在案的环境变量PVMNETSOCKPORT,它控制它使用的端口。现在我正在进行正确的设置,这样我就可以在我的防火墙上戳到正确的漏洞。
祝好运!如果我有进一步的进展,我会尝试更新这个答案。
发布于 2010-02-18 07:33:38
啊..。启动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发布于 2010-02-24 00:30:00
直到现在我才意识到我可以回答我自己的问题。失败的原因是由于/etc/hosts中的hosts文件。
Ubuntu将localhost设置为127.0.0.1 localhost,但是,使用PVM时,它必须使用真实的IP地址。因此,我将实际的IP地址和我的机器名放在localhost的顶部,这样PVM将首先读取该行。然后一切都正常了。我不知道为什么它从来没有给我回送错误的消息。
正如rescdsk所评论的那样,说明使用哪个来启动主控制台也同样有效,但我想偷懒,只需输入pvm即可使其工作。
我还没有解决安全问题...也许rescdsk或Pete会对安全漏洞有一些很好的建议。不过,我的主机/群集将不会连接到互联网。有什么顾虑吗?
https://stackoverflow.com/questions/2253354
复制相似问题