全文参考:MPI2-UBUNTU9.04-安装集群.PDF 1 修改hosts文件,每个node计算机都要改 $sudo gedit /etc/hosts: 127.0.0.1 localhost 192.168.1.1 node1 server 192.168.1.2 node22. 安装NFS文件系统和共享目录 在主机和从机都需要执行以下命令 sudo apt-get install nfs-kernel-server nfs-common 根目录下:
sudo mkdir /mirror sudo chown node:node /mirror 主节点:
sudo gedit /etc/exports : 最后两行添加:
/mirror node1(rw,sync) /mirror node2(rw,sync) 然后
$sudo /etc/init.d/nfs-kernel-server restart 从节点:
$sudo mount node1:/mirror /mirror #这里是命令行挂载共享目录
或 : 经过第二步,/mirror文件的文件在节点间能够共享权限,可相互编辑相互更改和删除。sudo gedit /etc/fstab 在末尾添加 node0:/mirror /mirror nfs rw, async, auto, exec, nouser, suid 0 0 ##这里是在配置文件下挂载共享目录3. ssh无密码互通,每个node计算机都要执行
$ssh-keygen-t rsa #生成公钥和密钥一路回车生成.ssh/id_rsa等文件
在node1节点上
cd .ssh cat id_rsa.pub >>authorized_keys
将authorized_keys发送到node2节点的.ssh文件夹(可通过文件共享实现)或如下:
scp authorized_keys node2:/home/cluster/.ssh #cluster指cluster@node1:/mirror/mpich-3.1/examples$
ssh-add~/.ssh/id_rsa #这一步很重要,以前实现ssh互访是不需要这一步的
在node2上
将id_rsa.pub内容复制到copy过来的authorized_keysscp authorized_keys node1:/home/cluster/.ssh
ssh-add~/.ssh/id_rsa #这一步很重要
完毕。
实现ssh无密码访问需要关闭防火墙:sudo ufw disable~# mpiexec -n 6 -machinefile ~/machinefile ~/mpich-3.1/examples/cpi #~/machinefile指上面创建的machinefile的文件路径4. mpich3的安装与配置 到网站http://www.openssl.org/source/下载安装包***.tar.gz cd /mirror mkidr mpich3 tar zxvf mpich-3.1.tar.gz ./configure --prefix=/mirror/mpich3 --disable-f77 --disable-fc 2>&1 | tee c.txt --disable-f77 --disable-fc是为了禁止fortran,否则安装会出问题,会导致MPICH2安装不完全而出错,所以这里建议不用的选上。 make 2>&1 | tee m.txt make install 2>&1 | tee mi.txt
sudo gedit .bashrc #配置环境
在最后面添加:export PATH=/mirror/mpich3/bin:$PATH
souce .bashrc
配置多台集群需要创建machinefile文档 (可在任意目录下),文档内容为各台计算机的节点名,一行一个节点名。如:
node1
node2
node3
5. 运行测试程序有如下类似输出则说明平台搭建成功了
Process 2 of 6 is on node1
Process 5 of 6 is on node1
Process 0 of 6 is on node2
Process 3 of 6 is on node2
Process 1 of 6 is on node3
Process 4 of 6 is on node3
pi is approximately 3.1415926544231243, Error is 0.0000000008333312
wall clock time = 0.001908