rocks cluster下mpich2的配置問題,急!!!!
學校新買的伺服器,安裝rocks5.3,
在設置方面我是個菜鳥,在安裝MPICH2的時候找個一個安裝方法如下:
一、創建SSH信任連接(在root目錄下)
1、更改/etc/hosts文件
#vi /etc/hosts 打開hosts文件,更改如下:
127.0.0.1 localhost.localdomain localhost
node01的IP scc-m
node01的IP node01
node02的IP node02
node03的IP node03
node04的IP node04
2、在node01生成SSH秘鑰對.
#ssh-keygen -t rsa 一路回車即可
產生.ssh文件,
#ls -a 查看是否有.ssh文件夾
3、進入.ssh目錄
#cd .ssh
4、生成authorized_keys文件
#cp id_rsa.pub authorized_keys
5、退出到root目錄
#cd ..
6、建立本身的信任連接
#ssh node01 按提示輸入yes(三個字母要打全)
7、設置node02(node02的root目錄下)
#ssh-keygen -t rsa 生成.ssh文件夾
#scp node01的IP:/root/.ssh/* /root/.ssh 拷貝node01上的.ssh文件夾覆蓋本地的
#scp node01的IP:/etc/hosts /etc/hosts 拷貝node01上的hosts文件覆蓋本地的
#ssh node01 提示處輸入yes回車
設置node03,node04的方法與node02相同
8、確認四台機器的信任連接已建立
對每個節點執行:
#ssh node01
#ssh node02
#ssh node03
#ssh node04
在提示處輸入yes回車,最後確定無需輸入密碼並且沒有任何提示信息即可登陸("Last login:時間日期"提示信息除外)
二、安裝MPICH2(在節點root目錄下)
1、解壓縮
#tar -zxvf mpich2-1.0.1.tar.gz
或者 #gunzip -c mpich2-1.0.1.tar.gz|tar xf mpich2-1.0.1.tar
2、創建安裝目錄
#mkdir /usr/MPICH-instsll
3、進入mpich2解壓目錄
#cd mpich2-1.0.1
4、設置安裝目錄
#./configure --prefix=/usr/MPICH-install
5、編譯
#make
6、安裝
#make install
7、退出到root目錄
#cd ..
8、通過編輯.bashrc文件修改環境變數
#vi .bashrc
修改後的.bashrc文件如下:
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
PATH="$PATH:/usr/MPICH-install/bin" 新增加的
#Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
9、測試環境變數設置
#which mpd
#which mpicc
#which mpiexec
#which mpirun
10、修改/etc/mpd.conf文件,內容為secretword=myword
#vi /etc/mpd.conf
設置文件讀取許可權和修改時間
#touch /etc/mpd.conf
#chmod 600 /etc/mpd.conf
11、創建主機名稱集合文件/root/mpd.hosts
#vi mpd.hosts
文件內容如下:
node01
node02
node03
node04
三、測試
1、本地測試
#mpd & 啟動
#mpdtrace 觀看啟動機器
#mpdallexit 退出
2、通過mpd.hosts運行集群系統
#mpdboot -n number -f mpd.hosts number為要起動的機器個數
#mpdtrace
#mpdallexit
在運行mpdboot -n 3 -f mpd.hosts(機器上有9個節點)出了問題如下:
mpdboot_cluster.bjtu.edu (handle_mpd_output 420): from mpd on compute-0-1, invalid port info:
no_port
+ Done mpd
請高手幫幫忙看看是哪出問題了,小弟不勝感激.
《解決方案》
1。 可能是SSH在HEADNODE 和節點之間沒通
2。 關閉IPTABLES: service iptables stop
3. Please use normal user to launch mpdboot -n 3 -f mpd.hosts:
a. su - <normaluser>
b. ssh can login to compute node without password.
c. mpd.conf should be created in normal user home directory with 600 permission
d. use full host name in mpd.hosts
e. mpdboot -n <nodeNum> -f mpd.hosts &
f. mpdtrace -l to test if it can list node
g. then you can run job via mpich2.
Maybe these advices can help you.
-Qi