建站服務器
撰寫日期:2017年6月13日
成都創新互聯專業為企業提供新縣網站建設、新縣做網站、新縣網站設計、新縣網站制作等企業網站建設、網頁設計與制作、新縣企業網站模板建站服務,十載新縣做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。作者:翟江恒
一般情況下不會采用手動的方式安裝HPC,而是采用集成自動化方案來部署hpc,但是這些集成方案都是集成了指定的操作系統發行版本,比如常見的HPC集成自動化方案rockets,到目前為止集成centos 6.6,如果需要把HPC安裝其他linux發行版本環境里面,就不能使用集成自動化方案,必須使用手動安裝方法,這篇博客就是敘述如何手動搭建HPC的。敬請往下看。
1. HPC簡介
2. HPC架構
3. ssh無密碼訪問
4. 安裝配置NFS
5. 安裝配置NIS
6. 安裝tentakel
7. 安裝openmpi
8. 安裝torque
9. 安裝ganglia
1.HPC簡介
3.SSH無密碼訪問
#!/bin/bash
rm -fr/root/.ssh
/usr/bin/expect<<EOF
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<<EOF
# 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<<EOF
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
執行命令:touch hostfile
編輯hostfile文件,加入說有主機名,一行一個。
例如:
node136
node137
node138
hpc-test
執行如下命令:
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/普通用戶目錄/
以下實現各服務器之間root用戶之間ssh無密碼訪問。
4. NFS配置
5.安裝配置NIS服務
測試tentakel是否生效
執行命令:tentakel –g all “uptime”
./configure --prefix=/hpc/openmpi CC=gcc CXX=g++F77=gfortran FC=gfortran
編譯安裝
make && make install(必須要make命令編譯成功才執行makeinstall開始安裝)
再執行:
source/etc/profile
Source/home/用戶/.bashrc
測試openmpi
8.安裝torque
/shared_storage/ ----指的是共享存儲目錄
/shared_storage/
執行torque-package-clients-linux-x86_64.sh和torque-package-mom-linux-x86_64.sh
把管理節點上的安裝包目錄里的contrib/init.d/pbs_mom拷貝到所有計算節點的/etc/init.d/目錄。
把pbs_mom加入服務列表
chkconfig--add pbs_mom
設置pbs_mom服務開機自啟動
chkconfigpbs_mom on
在管理節點編寫腳本:
startpbs_server.sh和shutpbs_server.sh
startpbs_server.sh用來啟動所有pbs服務,內容如下:
#!/bin/bash
for iin pbs_server pbs_mom pbs_sched trqauthd;
do
/etc/init.d/$istart
done
shutpbs_server.sh用來停止所有pbs服務,內容如下:
#!/bin/bash
for iin pbs_server pbs_mom pbs_sched trqauthd;
do
/etc/init.d/$istop
done
添加執行權限:
chmod+x startpbs_server.sh
chmod+x shutpbs_server.sh
執行:shstartpbs_server.sh啟動所有服務。
在計算節點的編輯/etc/profile文件加入TORQUE_HOME環境變量
source/etc/profile
在計算節點執行:
#echo /usr/local/lib> /etc/ld.so.conf.d/torque.conf
#ldconfig
啟動pbs_server
/etc/init.d/pbs_momstart
在管理節點執行命令:qnodes
狀態為free就是正常的,為down就是計算節點的pbs_mom服務掛了。
編寫測試腳本:
test.pbs內容如下:
#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 – 普通用戶
提交作業:
qsub test.pbs
查看作業隊列:
qstat
狀態為C表示作業執行完成,為E表示作業執行完成正在退出。
9.安裝ganglia監控
Ganglia由gmond、gmetad和gweb三部分組成
gmond(GangliaMonitoring Daemon)是一種輕量級服務,安裝在每臺需要收集指標數據的節點主機上。gmond在每臺主機上完成實際意義上的指標數據收集工作,并通過偵聽/通告協議和集群內其他節點共享數據。使用gmond,你可以很容易收集很多系統指標數據,如CPU、內存、磁盤、網絡和活躍進程的數據等。
gmetad(GangliaMeta Daemon)是一種從其他gmetad或gmond源收集指標數據,并將其以RRD格式存儲至磁盤的服務。gmetad為從主機組收集的特定指標信息提供了簡單的查詢機制,并支持分級授權,使得創建聯合監測域成為可能。
gweb(GangliaWeb)gweb是一種利用瀏覽器顯示gmetad所存儲數據的PHP前端。在Web界面中以圖表方式展現集群的運行狀態下收集的多種不同指標數據。
管理節點需要安裝的組件:
gmetad
http
php
gweb
計算節點需要安裝的組件:
gmond
在所有節點執行下面的操作:
安裝軟件源:wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm –ivh epel-release-6-8.noarch.rpm
執行如下命令:
yum clean all
yum makecach
yum update –y
yum search ganglia-gmetad ganglia-gmond
如果yum search命令可以找到ganglia軟件包在開始安裝管理節點和計算節點。
安裝管理節點:
安裝gmetad
執行:
yum installganglia-gmetad -y
安裝ganglia-web
在安裝ganglia-web之前需要先安裝httpd和php
執行:
yum install httpd php
建立ganglia的web目錄:
mkdir /var/www/html/ganglia
把ganglia-web下面的所有文件拷貝到/var/www/html/ganglia
配置管理節點:
配置gmetad
修改gmetad服務的配置配文件:
vim /etc/ganglia/gmetad.conf
修改data_source參數
格式為:data_source “集群名稱” host1:port,host2:port,.. hostN:port
如果不指定端口會使用默認端口:8649
配置ganglia-web
gmond服務配置
name字段需要和管理節點一致。
在管理節點執行:
systemctl enablegmetad.service
systemctl startgmetad.service
systemctl enablehttpd.service
systemctl enablehttpd.service
在計算節點執行:
systemctl enablegmond.service
systemctl start gmond.service
下面是見證奇跡的時刻。
在瀏覽器地址欄里面輸入:
http://apache-hosot/ganglia
分享標題:手動搭建HPC(高性能計算)
網站URL:http://m.newbst.com/article6/cppeig.html
成都網站建設公司_創新互聯,為您提供云服務器、建站公司、網站策劃、標簽優化、響應式網站、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯