CentOS 6.4上搭建MPICH2开发环境的步骤


前提条件:

共有5台机器,均安装有CentOS6.4系统,主机名分别为node0,node1, node2, node3, node4。node0作为主节点,这里的主节点是指将node0作为NFS的服务器端。

MPICH2的安装包:mpich2-1.2.1p1.tar.gz,可以从MPICH的官网下载

--------------------------------------分割线 --------------------------------------

MPICH2-1.3中的hydra配置与使用

Ubuntu 11.10下面配置MPICH2完全手册

Ubuntu 8.10上安装MPICH2并行计算环境

RedHat 5.4安装MPICH2-1.4.1p1全过程

MPICH2的Linux下安装及其实现多台主机高性能计算

--------------------------------------分割线 --------------------------------------

以下操作均使用root用户名

1. 配置5台机器的网络,详细配置过程见我的另一篇文章《CentOS静态IP的网路配置方法》

2. 为5台机器创建统一的用户名cluster和相同的密码:

useradd cluster
passwd cluster

修改/etc/sudoers文件,添加如下一行,使cluster具有临时root权限的能力:

cluster      ALL=(ALL)      ALL

以下操作均使用cluster用户名

 3.  配置SSH,使任何两台机器之间均可无需密码而直接互相登录,详细配置过程见我的另一篇文章《两台主机可以无需密码而直接互相登录的SSH配置方法》

4.  配置NFS,node0作为服务器端,其他4台机器作为客户端,所有机器的共享目录均为/home/cluster/mirror,详细配置过程见我的另一篇文章《CentOS下NFS的安装过程》

5. 在node0上安装MPICH2开发环境

首先确认系统中安装有gcc、g++、make和python这些编译工具

创建MPICH2的安装目录:

mkdir /home/cluster/mirror/mpich2

将mpich2-1.2.1p1.tar.gz上传到/home/cluster/mirror,并解压缩:

tar -zxv -f mpich2-1.2.1p1.tar.gz

在/home/cluster/mirror/ mpich2-1.2.1p1目录中执行如下命令:

./configure --prefix=/home/cluster/mirror/mpich2
make
make install

创建/home/cluster/mpd.hosts文件,文件内容如下:

node0
node1
node2
node3
node4

6.  在5台机器上配置环境变量

在/home/cluster/.bashrc文件中加入:

export PATH=$PATH:/home/cluster/mirror/mpich2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/cluster/mirror/mpich2/lib

使配置文件生效:

source /home/cluster/.bashrc

测试MPICH2是否安装成功:

which mpd
which mpiexec

创建/home/cluster/.mpd.conf文件,文件内容如下(””中的内容为任意字符串,但是所有机器都要一样):

secretword="lab311"

修改.mpd.conf文件的权限,使得只有用户cluster具有读写该文件的权限:

chmod 600 /home/cluster/.mpd.conf

测试各台机器能否启动mpd管理器,正常情况下mpdtrace的执行结果为本机的主机名,注意测试完毕后一定要用mpdallexit命令关闭mpd,否则后面启动集群时会出现连接失败的错误:

mpd &
mpdtrace
mpdallexit

7. 在node0测试整个集群

启动集群前需要将所有机器的防火墙关闭:

sudo service iptables stop
sudo chkconfig iptables off

启动集群(参数-n 5表示启动5台机器):

mpdboot -n 5 -f /home/cluster/mpd.hosts

查看已经启动的机器:

mpdtrace

正常情况下会显示如下结果:

node0
node1
node2
node3
node4

关闭集群:

mpdallexit

相关内容