萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux操作系統關於集群的安裝與並行計算

Linux操作系統關於集群的安裝與並行計算

class="21000"> ; 1.linux安裝 安裝過程就不多說了。需要注意的是安裝時,如果機群不與外界聯網則可以不考慮安全 方面的因素而把rsh選為可信賴的服務,注意安裝相應的軟件包;如果還要與外界保持聯 網,出於安全需要應把ssh選為可信賴的服務。安裝以後,應該保證各節點之間能夠用s sh相互登錄。每個節點的sshd都應該能正常提供服務。主機名:node1...noden (我所構 建的系統n=2) 2.創建NFS服務 在服務器節點public目錄下建立mpi目錄,並將其配置成NFS服務器,在/etc/exports文 件中加入一行: /public/mpi node1(rw) node2(rw) 在客戶端節點的/etc/fstab文件中增加一行: sever :/pubilc/mpi nfs rw , bg , soft 0 0 將/public/mpi這個目錄從服務器節點輸出,並裝載在各客戶端,從而便於在各節點間分 發任務 3.修改/etc/hosts文件,將所有節點名稱極其ip地址填入。例如: 127.0.0.1 localhost.localdomain localhost 192.168.1.1 node1 192.168.1.2 node2 ……………………. 每個節點都進行類似的配置。這樣做的目的是使節點之間能夠通過node1 ... noden的名 稱相互訪問。你可以通過ping noden 或 ssh noden進行測試。 4.修改(或創建)/etc/hosts.equiv文件 將所有你允許訪問本機進行mpi計算的機器名填入,一行一個機器名。這一步是為了使節 點對其它的節點放權。 例如,我的node1是我用於啟動mpi集群計算的機器,其他的節點是參與計算者,在node 1的/etc/hosts.equiv文件是這樣的: node1 #給自己放權,這樣在只有一台機器時也可以模擬並行計算環境 node2 ..... noden 在node2...noden的/etc/hosts.equiv文件: node1 #對node1放權 node2 ...... noden 5.修改~/.bash_profile文件 首先決定一個用於啟動集群計算的用戶名,不提倡使用root進行集群計算。這裡在每個 節點上建立新用戶chief,他們的主目錄都是/home/chief,必須采用同樣的密碼,將來 的計算程序必須放在相同的路徑上。譬如你的程序為:fpi.f和a.out,則必須把a.out放 在同樣的路境內,比如~/mpirun/a.out,每個節點都是如此。 修改~/.bash_profile文 件,主要是加入下列幾行腳本: export PATH=$PATH:/usr/local/mpich/bin export MPI_USEP4SSPORT=yes export MPI_P4SSPORT=22 export P4_RSHCOMMAND=rsh 或ssh 這裡我們預定了將來mpich的運行環境安裝在目錄/usr/local/mpich下面。其余的三個變 量是用來通知mpi運行環境采用rsh(或ssh)來作為遠程shell。linux的運行環境到此就配 置完畢了。 6.配置rsh 或ssh 對於采用rsh來作為遠程shell運行MPI的用戶只要保證在各個節點上都具有相同的用戶, 並把這一用戶的密碼設為空密碼就可以運行了。 若采用ssh作為遠程shell則按如下配置:以你設定的用於啟動mpi計算的用戶登錄,運行 ssh-keygen,這將生成一個私有/公開密鑰對,分別存放在~/.ssh/identity和~/.ssh/i dentity.pub文件內。然後進行訪問授權,運行: cp ~/.ssh/identity.pub ~/.ssh/authorized_keys chmod go-rwx ~/.ssh/authorized_keys ssh-agent $SHELL ssh-add 在每個節點重復一遍。試著在某一節點上登錄其它節點,ssh noden,則在.ssh/下生成 一個known_hosts2文件,裡面放著訪問該主機的密鑰,把所有密鑰收集起來,在各個節 點上作同樣的拷貝。這樣做的目的是使各節點相互之間訪問無需輸入密碼。

7.開啟各項必需的服務 如果是以根用戶root 登陸系統的則可以用ntsysv命令啟動ntsysv實用程序。ntsysv 實 用程序允許使用簡單的菜單界面啟動或關閉各種運行等級的服務。在其中我們選擇開啟 rsh ,rlogin,telnet等。也可以關閉一些服務以加快啟動速度如sendmail。 如果是使用su命令轉為root用戶的則很可能運行ntsysv並不出現ntsysvs實用程序。此時 可以直接去修改/etc/xinetd.d下的rlogin, rsh ,telenet的設置。用vi編輯器打開xin etd.d: vi /etc/xinetd.d 則可看到如下所示的配置文件:

關於rsh的設置如下
# default: off
# description: The rshd server is the server for the rcmd(3) routine and, 
#       consequently, for the rsh(1) program.  The server provides 
#       remote execution facilities with authentication based on 
#       privileged port numbers from trusted hosts.
service shell
{
       disable = yes
       socket_type             = stream
       wait                    = no
       user                    = root
       log_on_success          += USERID
       log_on_failure          += USERID
       server                  = /usr/sbin/in.rshd
}
關於rlogin的設置如下
# default: off
# description: rlogind is the server for the rlogin(1) program.  The server 

#       provides a remote login facility with authentication based on 
#       privileged port numbers from trusted hosts.
service login
{
       disable = yes
       socket_type             = stream
       wait                    = no
       user                    = root
       log_on_success          += USERID
       log_on_failure          += USERID
       server                  = /usr/sbin/in.rlogind
}
關於telnet的設置如下
# default: off
# description: The telnet server serves telnet sessions; it uses 
# unencrypted username/password pairs for authentication.
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}
所有這些服務在安裝完系統之後都是默認為禁用的,要進行修改來打開這些服務。如要 通過修改啟動telenet則就需要改disable = yes為disable = no。對於其他的服務的啟 動的修改與之相同。若啟動這些服務則只需要簡單執行: #/etc/rc.d/init.d/xinetd restart 或重起計算機就可以使所作的更改生效。 8.在服務器節點編譯、安裝Fortran90編譯器 先將Fortran90(我用的是Intel的)編譯器拷貝至/tmp下,然後用tar xvfz fortran90 .tar.gzj解壓縮。運行 ./install 選擇你所要安裝的類型,如果你的機器是基於IA-32,就選擇1。如果你的機器是基於It anium(TM)-based system就選擇2。如果要停止安裝,就選擇X。選擇過之後安回車進入 下一步,此時會要求你選擇 : 1.Intel(R) Fortran Complier for 32-bit Applications,Version 6.0 build 020312Z 2.2.Linux Applicationdebugger for 32-bit Applications,Version 6.0 buid 20020 x. Exit 按順序選擇1和2,最後選擇X 完成安裝並退出。在選擇完1之後會要求你看版權聲明, 輸入Accept繼續安裝。默認的安裝路徑為/opt/intel,選擇默認路徑按Enter繼續。選2之 後的情形與1相同。如果不注冊可以用90天。 9.在服務器節點編譯、安裝mpich 1.2.3 將mpich 1.2.4:ftp://ftp.mcs.anl.gov/pub/mpi/mpich.tar.gz。拷貝到一個臨時目錄 下,放在/tmp下了。用root用戶登錄進行編譯安裝。 (1). 對mpich的安裝進行預處理: 首先,用tar xvfz mpich.tar.gz解壓。生成mpich-1.2.3目錄。切換到mpich-1.2.3目錄 。運行預處理: ./configure --prefix=/usr/local/mpi --對應於用rsh進行遠程登錄的系統 ./configure --prefix=/usr/local/mpi -rsh=ssh --對應於用ssh進行遠程登錄的 系統 這裡我們通知編譯系統mpich的安裝位置為/usr/local/mpich,運行環境的遠程shell為 rsh或ssh。 (2).編譯: make 運行此命令後mpich軟件包會自動編譯形成MPI系統的函數庫,需要數分鐘的時間,根據 不同的機器可以略有不同。 (3).安裝: make install 運行此命令可以將MPI軟件包安裝到由./configure --prefix選項指定MPICH安裝目錄即 /usr/local/mpi 修改文件/usr/local/mpi/share/util/machines/machines.LINUX。如下: node1 ndoe2 ...... ndoen 這一步是通知mpich運行環境都有那些節點可供集群計算。每個節點都這樣輸入一遍。 (4).測試安裝是否正確 在/usr/local/mpi/examples/basics下編譯cpi.c: make cpi 用命令行: ../../bin/mpirun -np 2 cp 運行。將會獲得如下信息。 Processes 0 on node1 Processes 1 on node2 ……..……………….. 如果能正常運行即證明mpich軟件包安裝完全成功。

copyright © 萬盛學電腦網 all rights reserved