建站服務(wù)器
撰寫日期:2017年6月13日
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供新縣網(wǎng)站建設(shè)、新縣做網(wǎng)站、新縣網(wǎng)站設(shè)計(jì)、新縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、新縣企業(yè)網(wǎng)站模板建站服務(wù),十載新縣做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。作者:翟江恒
一般情況下不會(huì)采用手動(dòng)的方式安裝HPC,而是采用集成自動(dòng)化方案來部署hpc,但是這些集成方案都是集成了指定的操作系統(tǒng)發(fā)行版本,比如常見的HPC集成自動(dòng)化方案rockets,到目前為止集成centos 6.6,如果需要把HPC安裝其他linux發(fā)行版本環(huán)境里面,就不能使用集成自動(dòng)化方案,必須使用手動(dòng)安裝方法,這篇博客就是敘述如何手動(dòng)搭建HPC的。敬請(qǐng)往下看。
1. HPC簡(jiǎn)介
2. HPC架構(gòu)
3. ssh無密碼訪問
4. 安裝配置NFS
5. 安裝配置NIS
6. 安裝tentakel
7. 安裝openmpi
8. 安裝torque
9. 安裝ganglia
1.HPC簡(jiǎn)介
3.SSH無密碼訪問
#!/bin/bash
rm -fr/root/.ssh
/usr/bin/expect< setforce_conservative 0 ;# set to 1 toforce conservative mode even if ;# script wasn\'t run conservativelyoriginally if{\\$force_conservative} { set send_slow {1 .1} proc send {ignore arg} { sleep .1 exp_send -s -- \\$arg } } settimeout -1 spawnssh-keygen -t dsa match_max100000 expect-exact Enter file in which to save the key (/root/.ssh/id_dsa): send --\\r expect-exact Enter passphrase (empty for no passphrase): send --\\r expect-exact Enter same passphrase again: send --\\r expecteof EOF cd/root/.ssh catid_dsa.pub >> authorized_keys chmod 600authorized_keys #!/bin/bash if [ $#-ne 1 ] then { echo \'usage: step1.exp root_password\' exit } fi; ROOTPASSWD=$1 rm -fr/root/.ssh/known_hosts #for((node=1;node<=10;node++)) for nodein $(cat hostfile) do /usr/bin/expect< # set to1 to force conservative mode even if setforce_conservative 0 ; ;# script wasn\'t run conservativelyoriginally if{\\$force_conservative} { set send_slow {1 .1} proc send {ignore arg} { sleep .1 exp_send -s -- \\$arg } } settimeout -1 spawn ssh${node} hostname match_max100000 expect-exact Are you sure you want to continue connecting (yes/no)? send --yes\\r expect-exact ${node}\'s password: send --${ROOTPASSWD}\\r expecteof EOF #!/bin/bash if [ $#-ne 1 ] then { echo \'usage : step3.exp root_password\'; exit 1; } fi; ROOTPASSWORD=$1 #for((node=1;node<=10;node++)) for nodein $(cat hostfile) do /usr/bin/expect< setforce_conservative 0 ;# set to 1 toforce conservative mode even if ;# script wasn\'t run conservativelyoriginally if{\\$force_conservative} { set send_slow {1 .1} proc send {ignore arg} { sleep .1 exp_send -s -- \\$arg } } settimeout -1 spawn scp-rp /root/.ssh ${node}:/root match_max100000 expect-exact root@${node}\'s password: send --${ROOTPASSWORD}\\r expecteof EOF 執(zhí)行命令:touch hostfile 編輯hostfile文件,加入說有主機(jī)名,一行一個(gè)。 例如: node136 node137 node138 hpc-test 執(zhí)行如下命令: cp setp1.exp setp2.exp setp3.exp hostfile /root/rootUser/ cp setp1.exp setp2.exp hostfile /home/普通用戶目錄 chmod755 –R /root/rootUser/ chmod755 –R /home/普通用戶目錄 chown root:root –R /root/rootUser/ chown普通用戶:普通用戶組–R /home/普通用戶目錄/ 以下實(shí)現(xiàn)各服務(wù)器之間root用戶之間ssh無密碼訪問。 4. NFS配置 5.安裝配置NIS服務(wù) 測(cè)試tentakel是否生效 執(zhí)行命令:tentakel –g all “uptime” ./configure --prefix=/hpc/openmpi CC=gcc CXX=g++F77=gfortran FC=gfortran 編譯安裝 make && make install(必須要make命令編譯成功才執(zhí)行makeinstall開始安裝) 再執(zhí)行: source/etc/profile Source/home/用戶/.bashrc 測(cè)試openmpi 8.安裝torque /shared_storage/ ----指的是共享存儲(chǔ)目錄 /shared_storage/ 執(zhí)行torque-package-clients-linux-x86_64.sh和torque-package-mom-linux-x86_64.sh 把管理節(jié)點(diǎn)上的安裝包目錄里的contrib/init.d/pbs_mom拷貝到所有計(jì)算節(jié)點(diǎn)的/etc/init.d/目錄。 把pbs_mom加入服務(wù)列表 chkconfig--add pbs_mom 設(shè)置pbs_mom服務(wù)開機(jī)自啟動(dòng) chkconfigpbs_mom on 在管理節(jié)點(diǎn)編寫腳本: startpbs_server.sh和shutpbs_server.sh startpbs_server.sh用來啟動(dòng)所有pbs服務(wù),內(nèi)容如下: #!/bin/bash for iin pbs_server pbs_mom pbs_sched trqauthd; do /etc/init.d/$istart done shutpbs_server.sh用來停止所有pbs服務(wù),內(nèi)容如下: #!/bin/bash for iin pbs_server pbs_mom pbs_sched trqauthd; do /etc/init.d/$istop done 添加執(zhí)行權(quán)限: chmod+x startpbs_server.sh chmod+x shutpbs_server.sh 執(zhí)行:shstartpbs_server.sh啟動(dòng)所有服務(wù)。 在計(jì)算節(jié)點(diǎn)的編輯/etc/profile文件加入TORQUE_HOME環(huán)境變量 source/etc/profile 在計(jì)算節(jié)點(diǎn)執(zhí)行: #echo /usr/local/lib> /etc/ld.so.conf.d/torque.conf #ldconfig 啟動(dòng)pbs_server /etc/init.d/pbs_momstart 在管理節(jié)點(diǎn)執(zhí)行命令:qnodes 狀態(tài)為free就是正常的,為down就是計(jì)算節(jié)點(diǎn)的pbs_mom服務(wù)掛了。 編寫測(cè)試腳本: test.pbs內(nèi)容如下: #PBS-l nodes=1 ##PBS-N test_1 #PBS-S /bin/bash mpiexec–H localhost,node136,node137 -np 30 /home/hpc/a.out > /home/hpc/cu1111.log2>&1 su – 普通用戶 提交作業(yè): qsub test.pbs 查看作業(yè)隊(duì)列: qstat 狀態(tài)為C表示作業(yè)執(zhí)行完成,為E表示作業(yè)執(zhí)行完成正在退出。 9.安裝ganglia監(jiān)控 Ganglia由gmond、gmetad和gweb三部分組成 gmond(GangliaMonitoring Daemon)是一種輕量級(jí)服務(wù),安裝在每臺(tái)需要收集指標(biāo)數(shù)據(jù)的節(jié)點(diǎn)主機(jī)上。gmond在每臺(tái)主機(jī)上完成實(shí)際意義上的指標(biāo)數(shù)據(jù)收集工作,并通過偵聽/通告協(xié)議和集群內(nèi)其他節(jié)點(diǎn)共享數(shù)據(jù)。使用gmond,你可以很容易收集很多系統(tǒng)指標(biāo)數(shù)據(jù),如CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)和活躍進(jìn)程的數(shù)據(jù)等。 gmetad(GangliaMeta Daemon)是一種從其他gmetad或gmond源收集指標(biāo)數(shù)據(jù),并將其以RRD格式存儲(chǔ)至磁盤的服務(wù)。gmetad為從主機(jī)組收集的特定指標(biāo)信息提供了簡(jiǎn)單的查詢機(jī)制,并支持分級(jí)授權(quán),使得創(chuàng)建聯(lián)合監(jiān)測(cè)域成為可能。 gweb(GangliaWeb)gweb是一種利用瀏覽器顯示gmetad所存儲(chǔ)數(shù)據(jù)的PHP前端。在Web界面中以圖表方式展現(xiàn)集群的運(yùn)行狀態(tài)下收集的多種不同指標(biāo)數(shù)據(jù)。 管理節(jié)點(diǎn)需要安裝的組件: gmetad http php gweb 計(jì)算節(jié)點(diǎn)需要安裝的組件: gmond 在所有節(jié)點(diǎn)執(zhí)行下面的操作: 安裝軟件源:wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm –ivh epel-release-6-8.noarch.rpm 執(zhí)行如下命令: yum clean all yum makecach yum update –y yum search ganglia-gmetad ganglia-gmond 如果yum search命令可以找到ganglia軟件包在開始安裝管理節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)。 安裝管理節(jié)點(diǎn): 安裝gmetad 執(zhí)行: yum installganglia-gmetad -y 安裝ganglia-web 在安裝ganglia-web之前需要先安裝httpd和php 執(zhí)行: yum install httpd php 建立ganglia的web目錄: mkdir /var/www/html/ganglia 把ganglia-web下面的所有文件拷貝到/var/www/html/ganglia 配置管理節(jié)點(diǎn): 配置gmetad 修改gmetad服務(wù)的配置配文件: vim /etc/ganglia/gmetad.conf 修改data_source參數(shù) 格式為:data_source “集群名稱” host1:port,host2:port,.. hostN:port 如果不指定端口會(huì)使用默認(rèn)端口:8649 配置ganglia-web gmond服務(wù)配置 name字段需要和管理節(jié)點(diǎn)一致。 在管理節(jié)點(diǎn)執(zhí)行: systemctl enablegmetad.service systemctl startgmetad.service systemctl enablehttpd.service systemctl enablehttpd.service 在計(jì)算節(jié)點(diǎn)執(zhí)行: systemctl enablegmond.service systemctl start gmond.service 下面是見證奇跡的時(shí)刻。 在瀏覽器地址欄里面輸入: http://apache-hosot/ganglia
本文標(biāo)題:手動(dòng)搭建HPC(高性能計(jì)算)
分享鏈接:http://weahome.cn/article/cppeig.html