Mpdboot:弃用警告
我正在尝试使用mpdboot命令来启动4个处理器,以便运行我的MPI程序。我创建了一个名为mpd.hosts的文件,里面列出了4个节点(75、77、79和80)。这几个节点都运行着python 2.3.4。我还修改了bashrc和cshrc文件,以确保变量中包含编译器库的目录路径。我还设置了mpd.conf文件,并检查它的权限是rw(600)。
下面是我运行mpdboot时的输出信息:
[n@heart]$ mpdboot -n 4 -r ssh
:38: 警告:popen2模块已被弃用。请使用subprocess模块。
n@75的密码:xxx
n@77的密码:xxx
n@79的密码:xxx
n@80的密码:xxx
mpdboot_heart.int(err_exit 526):mpd在heart.int上未能正确启动。
原因:0:来自mpd的无效端口 /opt/intel/mpi/2.0/bin/mpd.py:85:警告:md5模块已被弃用;请使用hashlib。
已终止。
第二部分:
我还登录到其中一个节点,尝试运行mpdboot。以下是运行后的输出:
[n@79 ~]$ mpdboot -n 4 -r ssh
n@75的密码:xxx
n@77的密码:xxx
n@79的密码:xxx
n@80的密码:xxx
mpdboot_79_0 (mpdboot 499):在75节点启动mpd时检测到问题;输出:
权限被拒绝,请再试一次。
n@75的密码:权限被拒绝,请再试一次。
n@77的密码:mpdboot_79_0 (mpdboot 515):在77节点启动mpd时检测到问题;输出:
权限被拒绝,请再试一次。
权限被拒绝(publickey,gssapi-with-mic,password)。
n@77的密码:权限被拒绝,请再试一次。
权限被拒绝(publickey,gssapi-with-mic,password)。
我该如何处理这个问题呢?
2 个回答
mpdboot这个东西和你用的那个Python版本兼容吗?那个版本真是太老了,我都不知道还有哪个版本会继续提供2.3的。你试过用2.7吗?
几点说明:
- 你真的不想再使用MPD了。这个进程管理工具已经被淘汰,取而代之的是新的hydra进程管理器。
- 你可能在用旧版的MPD(老版本的MPICH2),因为据我所知,所有的弃用警告在1.1版本中都已经修复了。我怀疑你真的在用Python 2.3.4,因为我记得那些警告是在Python 2.6版本中才加入的。
- 关于“第二部分”,你的ssh配置有问题。你需要确保在所有主机之间可以无密码ssh(使用ssh密钥)正常工作。即使你换成hydra进程管理器,这也是必须的,虽然那样的话你可能会收到更友好的错误信息。