共有5台机器,均安装有CentOS6.4系统,主机名分别为node0,node1, node2, node3, node4。node0作为主节点,这里的主节点是指将node0作为NFS的服务器端。
MPICH2的安装包:mpich2-1.2.1p1.tar.gz,可以从MPICH的官网下载
--------------------------------------分割线 --------------------------------------
Ubuntu 11.10下面配置MPICH2完全手册
RedHat 5.4安装MPICH2-1.4.1p1全过程
--------------------------------------分割线 --------------------------------------
以下操作均使用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