1.所有計算機安裝Ubuntu14.04系統,單雙系統無所謂。
2.計算機的命名要有所區別。
3.每臺計算機的用戶名要相同,這點十分重要,否則配置ssh的時候會出現問題。
4.爲每臺計算機配置靜態ip:
sudo gedit/etc/network/interfaces
在文件中加入下列信息
address 172.16.71.147#(IP地址)
netmask 255.255.255.0#(子網掩碼)
gateway 172.16.71.1#(網關)
network 172.16.71.0#(可不配)
broadcast 172.16.71.255#(廣播地址,可不配)
dns-nameservers202.195.224.100#(DNS服務器)
5.配置DNS服務器地址
sudo gedit/etc/resolv.conf
添加:nameserver202.195.224.100#(DNS服務器)
sudo/etc/resolvconf/resolv.conf.d/base
添加:nameserver202.195.224.100#(DNS服務器)
6.配置用戶節點
sudo gedit/etc/hosts
將所有計算機的IP地址和計算機(節點)名稱匹配
127.0.0.1 localhost.localdomain localhost
#將第一行修改成這樣,否則之後運行程序時會出現問題
172.16.71.123 lxy
172.16.71.147 wjq
7.配置NFS文件系統
(1)選定一臺主機,其他計算機爲子節點
(2)所有計算機安裝NFS文件系統
sudoapt-get install nfs-kernel-server nfs-common
(3)安裝完成後在每臺計算機的根目錄下新建一個文件夾mirror,此爲共享文件夾
sudomkdir /mirror
(4)剛創建的文件夾的用戶和組爲root,將之改爲之前設定的用戶,以lxy爲例
sudochown lxy:lxy /mirror
(5)對主機的NFS進行配置
sudogedit /etc/exports:
將所
(6)對所有子節點,需要自動掛載到主節點的/mirro目錄
sudogedit /etc/fstab
添加下列信息:
主節點名:/mirror /mirrornfs rw,async,auto,exec,nouser,suid 0 0
(7)在主機上執行下列命令,將/mirror文件夾共享給各個節點
sudomount 主節點名:/mirror/ /mirror/ (注意空格)
8.配置SSH服務
(1)所有計算機節點安裝SSH服務:
sudoatp-get install ssh
(2)配置SSH無密碼通信,分別在各個節點生成公匙和私匙
ssh-keygen–t rsa
一路回車,會在HOME(主文件夾)路徑下產生一個.ssh文件
其中“.“表示隱藏文件/文件夾,Control+H可顯示
生成的id_rsa.pub爲公匙,將各節點的公匙交換,存入authorized_keys中(一個節點authorized_keys中要包含其他所有節點的公匙)
(3)關閉防火牆
sudoufw disable
9.安裝MPICH2
(1)安裝GCC
sudoapt-get install build-essential autoconf automake
(2)在NFS文件系統的主節點的/mirror中安裝MPICH2
下載MPICH2,下載地址 http://www.mpich.org/static/downloads/
本文采用MPICH2-3.0.1,因爲新版本剔除了mpd服務,替換爲hydra,如需要,可自行百度配置方式
(3)在/mirror下新建文件夾mpich2,將下載的文件解壓到該文件夾中
(4)cd進入文件夾,進行安裝操作
./configure--prefix=/mirror/mpich2 --with-pm=mpd:hydra
make
sudomake install
10.安裝GSL(NFS文件系統主節點)(本文測試程序需要用到GSL)
(1)下載GSL
下載地址:http://ftp.club.cc.cmu.edu/pub/gnu/gsl/
本文下載爲gsl-1.16
(2)同MPICH2一樣,將GSL安裝至/mirror/gsl-1.16,方式同上,這裏不做贅述
11.配置環境變量(所有節點)
(1)sudo gedit/etc/profile
添加:exportMV2_MPD_RECVTIMEOUT_MULTIPLIER=0.07
(2)gedit ~/.bashrc
添加:
#mpi
exportPATH=/mirror/mpich2/bin:$PATH
export PATH
LD_LIBRARY_PATH="/mirror/mpich2/lib:$LD_LIBRARY_PATH"
exportLD_LIBRARY_PATH
#gsl
exportPATH=$PATH:/mirror/gsl-1.16/bin
exportC_INCLUDE_PATH=$C_INCLUDE_PATH:/mirror/gsl-1.16/include
exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mirror/gsl-1.16/lib
exportGSL_LD=/mirror/gsl-1.16/lib
(3)修該mpiexec.py文件,若按之前配置,該文件位於/mirror/mpich2/bin中
gedit /mirro/mpich2/bin/mpiexec.py
查找到'MPIEXEC_RECV_TIMEOUT' : 20
將 20 修改爲 50 或更高
注:6中對127.0.0.1 localhost的修改,以及本步中的(1)(3)是爲了避免程序運行時No msg recvd from mpd whenexpecting ack of request錯誤的出現
12.配置mpd(所有節點)
(1)gedit ~/mpd.hosts
添加所有節點名
(2)gedit ~/.mpd.conf
添加:secretword=
(3) chmod 600 .mpd.conf
13.所有配置完成,重啓計算機即可進行測試。