Mpdboot:弃用警告

0 投票
2 回答
2322 浏览
提问于 2025-04-16 20:54

我正在尝试使用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 个回答

0

mpdboot这个东西和你用的那个Python版本兼容吗?那个版本真是太老了,我都不知道还有哪个版本会继续提供2.3的。你试过用2.7吗?

1

几点说明:

  1. 你真的不想再使用MPD了。这个进程管理工具已经被淘汰,取而代之的是新的hydra进程管理器
  2. 你可能在用旧版的MPD(老版本的MPICH2),因为据我所知,所有的弃用警告在1.1版本中都已经修复了。我怀疑你真的在用Python 2.3.4,因为我记得那些警告是在Python 2.6版本中才加入的。
  3. 关于“第二部分”,你的ssh配置有问题。你需要确保在所有主机之间可以无密码ssh(使用ssh密钥)正常工作。即使你换成hydra进程管理器,这也是必须的,虽然那样的话你可能会收到更友好的错误信息。

撰写回答