2

在使用 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 进入从站,并在其上运行命令。

有任何想法吗?
提前致谢!

以下是示例日志:

笔记本电脑日志

[t80040000] 02/11 10:23:32 笔记本电脑 (127.0.1.1:xxxxx) LINUX 3.4.5
[t80040000] 02/11 10:23:32 准备就绪 Thu Feb 11 10:23:32 2010
[t80040000] 02/11 10:23:32 netoutput() 发送到: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/à][72/à]
[t80040000] 02/11 10:23:32 净输出() sendto: 无效参数
[t80040000] 02/11 10:23:32 pvmbailout(0)

领结日志

[t80080000] 02/11 10:23:25 bowtie-slave (xxx.xxxxx:xxxxx) LINUX64 3.4.5
[t80080000] 02/11 10:23:25 准备好 Thu Feb 11 10:23:25 2010
[t80080000] 02 /11 10:28:26 work() 运行 = 启动,等待主服务器超时
[t80080000] 02/11 10:28:26 pvmbaiout(0)

4

3 回答 3

2

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

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

pvm -nfoobar.example.com

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

add baz.mumble.example.com

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

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

于 2010-02-22T16:11:46.517 回答
1

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

如果可以rsh到您的计算节点,请设置$PVM_RSH=/path/to/rsh. 否则,通过配置ssh

设置无密码 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-17T23:33:37.597 回答
1

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

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

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

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

于 2010-02-23T16:30:00.427 回答