前提條件:
共有5台機器,均安裝有CentOS6.4系統,主機名分別為node0,node1, node2, node3, node4。node0作為主節點,這裡的主節點是指將node0作為NFS的服務器端。
MPICH2的安裝包:mpich2-1.2.1p1.tar.gz,可以從MPICH的官網下載
--------------------------------------分割線 --------------------------------------
MPICH2-1.3中的hydra配置與使用 http://www.linuxidc.com/Linux/2011-12/50238.htm
Ubuntu 11.10下面配置MPICH2完全手冊 http://www.linuxidc.com/Linux/2011-12/50237.htm
Ubuntu 8.10上安裝MPICH2並行計算環境 http://www.linuxidc.com/Linux/2011-12/50236.htm
RedHat 5.4安裝MPICH2-1.4.1p1全過程 http://www.linuxidc.com/Linux/2011-12/50230.htm
MPICH2的Linux下安裝及其實現多台主機高性能計算 http://www.linuxidc.com/Linux/2011-12/49313.htm
--------------------------------------分割線 --------------------------------------
以下操作均使用root用戶名
1. 配置5台機器的網絡,詳細配置過程見我的另一篇文章《CentOS靜態IP的網路配置方法》http://www.linuxidc.com/Linux/2014-05/101727.htm
2. 為5台機器創建統一的用戶名cluster和相同的密碼:
useradd cluster
passwd cluster
修改/etc/sudoers文件,添加如下一行,使cluster具有臨時root權限的能力:
cluster ALL=(ALL) ALL
以下操作均使用cluster用戶名
3. 配置SSH,使任何兩台機器之間均可無需密碼而直接互相登錄,詳細配置過程見我的另一篇文章《兩台主機可以無需密碼而直接互相登錄的SSH配置方法》 http://www.linuxidc.com/Linux/2014-05/101729.htm
4. 配置NFS,node0作為服務器端,其他4台機器作為客戶端,所有機器的共享目錄均為/home/cluster/mirror,詳細配置過程見我的另一篇文章《CentOS下NFS的安裝過程》 http://www.linuxidc.com/Linux/2014-05/101730.htm
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
更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14