博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

CentOS 5.5上安装MPICH2

Posted on 2013-02-26 17:20  marsprj  阅读(5342)  评论(1编辑  收藏  举报

环境为CentOS 5.5,gcc-4.1.2

节点

  • 192.168.111.150    gserver150
  • 192.168.111.156    gserver156
  • 192.168.111.157    gserver157
  • 192.168.111.158    gserver158

192.168.111.150作为主节点,各节点用户名统一为:geobeans。

1. 设置ssh无密码登录,参考(SSH无密码登录)

2.编译安装MPICH2

1) 下载mpich2(版本1.4.191)

http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/1.4.1p1/mpich2-1.4.1p1.tar.gz

2) 编译mpich2

$ tar zxvf mpich2-1.4.1p1.tar.gz
$ cd mpich2-1.4.1p1
$ ./configure --prefix=/opt/mpich2-1.4.1p1 --with-pm=hydra:mpd --with-mpe
$ make
$ sudo make install
mpich2-1.4.1p1的安装目录内容为:

/opt/mpich2-1.4.1p1/bin目录为

3.配置MPICH2

安装完MPICH2,需要对MPICH2进行配置。在每个节点上都必须配置。

1)配置环境变量(/etc/profile)

 $ sudo vi /etc/profile

在/etc/profile的底部添加下面几行
export MPI_ROOT=/opt/mpich2-1.4.1p1
export PATH=$MPI_ROOT/bin:$PATH
export MANPATH=$MPI_ROOT/bin:$MANPATH

执行下面命令使/etc/profile生效
$ source /etc/profile
 
2) 测试环境变量

$ which mpd
$ which mpicc
$ which mpiexec
$ which mpirun

3)创建配置文件.mpd.conf

 root用户和普通用户的mpd.conf存储位置是不同的。

  * root用户

  root用户下mpd.conf位于/etc路径下,文件名为"mpd.conf"

* 普通用户

   普通用户的mpd.conf位于~/路径下,文件名为".mpd.conf "。注意,文件名多了一个点

   mpd.conf的内容为secretword=myword

注意:各个节点上的mpd.conf文件必须相同

4)创建配置文件mpd.hosts

路径:~/mpd.hosts。

内容:mpd.hosts记录MPICH2集群上节点的机器名或IP地址。

例如:

 

5、启动单点mpi

1) 执行命令

 $ mpd &

 2) 执行mpdtrace

6、启动mpi集群

1) 关闭防火墙

 #service iptables stop

 查看防火墙状态

#service iptables status

 2) 启动mpi集群

$mpdboot -n 4 -f mpd.hosts -v

 启动成功

3) 查看mpi集群

$mpdtrace -l

 

=============================================================================

8、FAQ
1)mpdboot_gserver150 (handle_mpd_output 421): failed to connect to mpd on gserver156
      场景:gserver156上的mpd已经启动,gserver156上的设置与150上的设置一模一样
      原因:~/.mpd.conf在各节点上的内容不一致时,可能出现这个问题
 
2)failed to handshake with mpd on gserver157
      原因: 防火墙没有关
      解决:/sbin/service iptables stop
 
3)mpdboot_gserver156 (handle_mpd_output 426): from mpd on gserver158, invalid port info:
      原因:ssh无密码登录配置不对