[TOC]
Centos7安裝-單節(jié)點Torque
1 簡介
PBS(Portable Batch System)最初由NASA的Ames研究中心開發(fā),主要為了提供一個能滿足異構計算網(wǎng)絡需要的軟件包馍忽,用于靈活的批處理燕差,特別是滿足高性能計算的需要,如集群系統(tǒng)瓦呼、超級計算機和大規(guī)模并行系統(tǒng)测暗。
PBS是功能最為齊全, 歷史最悠久, 支持最廣泛的本地集群調度器之一。PBS的主要特點有:代碼開放质和,免費獲戎勺帧;支持批處理瘫想、交互式作業(yè)和串行昌讲、多種并行作業(yè)短绸,如MPI、PVM鸠按、HPF、MPL馒吴。
PBS的目前包括:openPBS, PBS Pro和Torque三個主要分支.
OpenPBS:是最早的PBS系統(tǒng), 目前已經(jīng)沒有太多后續(xù)開發(fā)
PBS pro:是PBS的商業(yè)版本, 功能最為豐富
Torque:是Clustering公司接過了OpenPBS, 并給與后續(xù)支持的一個開源版本
應用PBS提交任務則會形成任務隊列,依次執(zhí)行豪治,有效分配資源扯罐,避免資源競爭歹河。否則CPU時間片會輪流分配給各個人的任務,從而影響所有人的正常作業(yè)厨姚。
torque主要由三個主要部件組成:
PBS服務守護進程: pbs_server 負責接收作業(yè)提交键菱,位于服務節(jié)點
PBS調度守護進程: pbs_sched 負責調度作業(yè),位于服務節(jié)點
PBS MOM守護進程: pbs_mom 負責監(jiān)控本機并執(zhí)行作業(yè)拭抬,位于所有計算節(jié)點
2 PBS命令
PBS 提供4 條命令用于作業(yè)管理:
2.1 qsub 命令
qsub 命令:用于提交作業(yè)腳本
#命令格式:
$qsub -a date_time [-C directive_prefix]
-e path -j join -l resource_list
-M user_list -o path -q destination
-S path_list-v variable_list
-W additional_attributes
參數(shù)說明:因為所采用的選項一般放在pbs 腳本中提交侵蒙,所以具體見PBS 腳本選項纷闺。
例:# qsub aaa.pbs 提交某作業(yè),系統(tǒng)將產(chǎn)生一個作業(yè)號
2.1 qstat 命令
qstat 命令:用于查詢作業(yè)狀態(tài)信息
#命令格式:
$qatat -f-i-s -Q-B
參數(shù)說明:
參數(shù) | 作用 |
---|---|
-f | jobid 列出指定作業(yè)的信息 |
-a | 列出系統(tǒng)所有作業(yè) |
-i | 列出不在運行的作業(yè) |
-n | 列出分配給此作業(yè)的結點 |
-s | 列出隊列管理員與scheduler 所提供的建議 |
-R | 列出磁盤預留信息 |
-Q | 操作符是destination id,指明請求的是隊列狀態(tài) |
-q | 列出隊列狀態(tài)搞乏,并以alternative 形式顯示 |
-au userid | 列出指定用戶的所有作業(yè) |
-B | 列出PBS Server 信息 |
-r | 列出所有正在運行的作業(yè) |
-Qf queue | 列出指定隊列的信息 |
-u | 若操作符為作業(yè)號,則列出其狀態(tài)镐躲。 |
例:# qstat -f 211 查詢作業(yè)號為211 的作業(yè)的具體信息侍筛。
2.3 qdel 命令
qdel 命令:用于刪除已提交的作業(yè)
#命令格式:
$qdel [-W 間隔時間] 作業(yè)號
例:# qdel -W 15 211 #15秒后刪除作業(yè)號為211 的作業(yè)
2.4 qmgr 命令—用于隊列管理
qmgr 命令—用于隊列管理
qmgr -c "create queue batch queue_type=execution"
qmgr -c "set queue batch started=true"
qmgr -c "set queue batch enabled=true"
qmgr -c "set queue batch resources_default.nodes=1"
qmgr -c "set queue batch resources_default.walltime=3600"
qmgr -c "set server default_queue=batch"
3 基本腳本寫法和選項
當多個用戶使用同一個計算資源時匣椰,每個用戶用PBS腳本提交自己的任務,由PBS對這些任務進行管理和資源的分配入录。下面是一個簡單的PBS腳本:
#!/bin/bash
#PBS -l nodes=20
#PBS -N snaphu
#PBS -j oe
#PBS -l walltime=24:00:00
#PBS -l cput=1:00:00
#PBS -q dque
$cd $PBS_O_WORKDIR
$cat PBS_NODEFILE PBS_NODEFILE> NODEFILE
$mpirun -np ./mpitest
將這個腳本保存成submit然后qsub submit就將這個mpitest的任務提交給了系統(tǒng)。腳本中#PBS為腳本選項凡桥,用于設置一些參數(shù)蚀同。
#PBS -l 表示資源列表,用于設定特定任務所需的一些參數(shù)衰猛。這里的nodes表示并行環(huán)境下可以使用的節(jié)點數(shù)谢肾,而walltime表示任務最大時限芦疏,而cput表示cpu時間的最大時限,運行時間和cpu使用時間超過對應的時限酸茴,任務就會以超時退出薪捍。這三個參數(shù)不是PBS腳本參數(shù),而是并行環(huán)境所需的參數(shù)凳干。
#PBS -N 表示任務名稱被济。
#PBS -j 表示系統(tǒng)輸出,如果是oe经磅,則標準錯誤輸出(stderr)和標準輸出(stdout)合并為stdout钮追,如果是eo,則合并為stderr轧叽,如果沒有設定或設定為n,則stderr和stdout分開崎页。
#PBS -q 表示當前任務選用的隊列腰埂。在并行環(huán)境下屿笼,一個系統(tǒng)中往往有多個隊列,任務提交后驴一,將在所選的隊列中排除等候肝断。系統(tǒng)中有哪些隊列可以用qstat -q查看。
PBS腳本文件由腳本選項和運行腳本兩部分組成担扑。
PBS作業(yè)腳本選項 (若無-C選項趣钱,則每項前面加‘#PBS’)
運行腳本同LINUX下一般的運行腳本文件格式如下:
? mpirun –np 進程數(shù) ./可執(zhí)行程序名
4 Centos7單機安裝torque
安裝信息
名稱 | 版本 | 下載 |
---|---|---|
系統(tǒng) | CentOS-7-x86_64-DVD-1708 | 點擊這里 |
Torque | torque-6.1.1.1.tar | 點擊這里 |
節(jié)點信息
主機名 | IP |
---|---|
master | 192.168.64.51 |
通過編譯源代碼的方式安裝torque由于整個torque都被安裝在一臺計算機上首有,所以上述pbs_server、pbs_mom和pbs_sched都會被安裝在一起卜壕。
1 檢查設置主機名
$hostnamectl set-hostname master
2 安裝torque運行環(huán)境和依賴庫
$yum install libxml2-devel openssl-devel gcc gcc-c++ boost-devel libtool-y
3 下載torque安裝包烙常,上傳到centos中军掂,解壓后進入此目錄
$tar -zxvf tar/torque-6.1.1.1.tar.gz
$cd torque-6.1.1.1/
4 設置安裝的配置信息昨悼,然后編譯、安裝终议,打包。打包是為了以便在其他節(jié)點安裝配置细燎。
#prefix設置安裝路徑皂甘,with-default-server設置主機名
$./configure --prefix=/usr/local/torque --with-scp --with-default-server=master
$make
$make install
$make packages
5 將contrib/init.d/目錄下的pbs_server偿枕、pbs_sched、pbs_mom嗤锉、trqauthd添加到系統(tǒng)初始化簡腳本/etc/init.d/中墓塌,并設置為開機啟動。
$cp contrib/init.d/{pbs_{server,sched,mom},trqauthd} /etc/init.d/
$for i in pbs_server pbs_sched pbs_mom trqauthd; do chkconfig --add $i; chkconfig $ion; done
6 設置環(huán)境變量
$TORQUE=/usr/local/torque
$echo "TORQUE=$TORQUE" >>/etc/profile
$echo "export PATH=\$PATH:$TORQUE/bin:$TORQUE/sbin" >>/etc/profile
$source /etc/profile
$echo '/usr/local/lib' > /etc/ld.so.conf.d/torque.conf
$ldconfig
備注:ldconfig命令的用途主要是在默認搜尋目錄/lib和/usr/lib以及動態(tài)庫配置文件/etc/ld.so.conf內所列的目錄下访诱,搜索出可共享的動態(tài)鏈接庫(格式如lib.so),進而創(chuàng)建出動態(tài)裝入程序(ld.so)所需的連接和緩存文件盐数。
將 testuser設為 TORQUE 的管理賬戶伞梯,沒有user1則添加。
$./torque.setup user1
$useradd user1
7 啟動pbs_server漾峡、pbs_sched喻旷、pbs_mom且预、trqauthd幾個服務
$for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i start; done
#或者使用如下一次開啟、停止锋谐、查看狀態(tài)
$ /etc/init.d/pbs_server start|stop|status
$ /etc/init.d/pbs_sched start|stop|status
$ /etc/init.d/pbs_mom start|stop|status
$ /etc/init.d/trqauthd start|stop|status
備注:Torque主要是由三個主要部件組成
pbs_server PBS服務守護進程涮拗,負責接收作業(yè)提交迂苛,位于服務節(jié)點上
pbs_sched PBS調度守護進程三幻,負責調度作業(yè)呐能,位于服務節(jié)點上
pbs_mom PBS MOM守護進程, 負責監(jiān)控本機并執(zhí)行作業(yè)锁蠕,位于所有計算節(jié)點上
8 用user用戶提交作業(yè)
$su user1
$echo sleep 200 | qsub
$qstat -an
9 將master也作為計算節(jié)點荣倾,編輯/var/spool/torque/mom_priv/config
$pbsserver master
10 安裝mom骑丸、client
在root用戶下通危,執(zhí)行:
$./torque-package-mom-*.sh --install
$./torque-package-clients-*.sh --install
12 創(chuàng)建設置作業(yè)隊列
$qmgr
Qmgr: create queue test_queue
Qmgr: set queue test_queue queue_type = execution
Qmgr: set queue test_queue started = true
Qmgr: set queue test_queue enabled = true
Qmgr: set queue test_queue resources_default.walltime = 1:00:00
Qmgr: set queue test_queue resources_default.nodes = 1
Qmgr: set server default_queue = batch
Qmgr: exit
$qstat -q
備注:
設置torque(工作目錄為/var/spool/torque/)
a)設置服務器名:編譯/var/spool/torque/server_name文件
b)設置機群所有機器名:編輯/var/spool/torque/server_priv/nodes文件
c)設置MOM進程配置文件:編輯 /var/spool/torque/mom_priv/config文件
4 相關文章
1:使用RPM包安裝PBS Pro
2:使用ssh在Docker容器間建立互信
3:Docker容器安裝單節(jié)點PbsPro
4:Docker容器安裝多節(jié)點PbsPro
5:Centos7安裝-單節(jié)點Torque
6:Centos7安裝-多節(jié)點Torque
7:Centos7安裝-多節(jié)點PbsPro
參考資料
3 作業(yè)提交系統(tǒng)Torque個人安裝總結(PBS)
? 2017-11-16-Boy