CentOS下torque集群配置(一)-torque安装与配置
CentOS下torque集群配置(一)-torque安裝與配置
一、Centos7系統的安裝及設置
1、給兩臺電腦安裝CentOS7.0,光盤啟動路徑修改為:/dev/cdrom
修改主機名稱
# hostnamectl set-hostname?<host-name>
2、設置ip地址
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
添加下列屬性值
IPADDR=”192.168.0.134”
NETMASK=”255.255.255.0”
BROADCAST=”192.168.0.255”
GATEWAY=”192.168.0.1”
3、設置**/etc/hosts**
設置各臺服務器的hosts文件都為相同的配置
192.168.0.134 ???master
192.168.0.135??? de2
192.168.0.136??? de2
4、進行ssh無密碼訪問設置
4.1、單項設置服務器
A訪問B無需密碼
a.首先在A中執行?#ssh-keygen -t rsa 連按3下進行無密碼設置;執行上面一步,會在~/.ssh目錄下生成兩個文件id_rsa和id_rsa.pub, 其中id_rsa是私鑰,保存在本機;id_rsa.pub是公鑰,是要上傳到遠程服務器的。
b.上傳公鑰到需要無密碼登陸的遠程服務器B上并改名為authorized_keys:
遠程服務器B上如果沒有.ssh目錄的話,先手動創建:
[root@localhost ~]# mkdir .ssh
[root@localhost ~]# chmod 755 .ssh
c.然后從服務器A上傳公鑰文件到遠程服務器B:
[root@localhost ~]# scp .ssh/id_rsa.pub??root@192.168.0.135:/root/.ssh/authorized_keys
??????? 然后使用#ssh slave? 測試,無需密碼轉到服務器B成功。
4.2多臺服務器相互無密碼訪問
??? 按照上面的思想,可以將每臺服務器上執行一次#ssh-keygen–t rsa?? 然后將它的公鑰復制到需要免密碼訪問本臺服務器的機器上,即執行上面的c步驟
多臺電腦ssh無密碼訪問
1.安裝ssh. ?sudo apt-get install ssh.?安裝完成后會在~目錄(當前用戶主目錄,即這里的/home/xuhui)下產生一個隱藏文件夾.ssh(ls -a 可以查看隱藏文件)。如果沒有這個文件,自己新建即可(mkdir .ssh).
2.進入.ssh目錄下面,在每臺機器上執行:ssh-keygen -t ?rsa ?之后一路回車,產生密鑰;
3。完成第二步后會產生兩個文件:
id-rsa ? ? #私鑰
id-rsa.pub ? #公鑰
4.在第一臺機器的目錄.ssh下執行命令,cat ?id-rsa.pub >> authorized_keys;此后.ssh下面會出現authorized_keys文件。
5.然后將第一臺機器的.ssh目錄下面的authorized_keys文件拷貝到第二臺計算機的.ssh目錄下,如:scp authorized_keys xuhui@cloud002:~/.ssh/
6.再轉到第二臺機器的.ssh目錄下,會發現剛剛傳輸過來的文件-authorized_keys,然后執行命令,將第二臺計算機的公鑰也加進來,如:cat id-rsa.pub >> authorized_keys.
7.將第二臺計算機新生成的authorized_keys傳輸第三臺計算機,將第三臺計算機的公鑰-id-rsa.pub添加到從第二臺計算機傳過來的authorized_keys里面。
8.依次類推,直至集群中的最后一臺計算機。
9.在集群的最后一臺計算機執行完添加后,生成的authorized_keys文件就包含集群中所有計算機的公鑰,如果以后還有機器加進到集群中來,可以直接添加到文件-authorized_keys。最后,將最后生成的authorized_keys復制到集群中的每一臺計算機的.ssh目錄下,覆蓋掉之前的authorized_keys。
10.完沉第九步后,就可以在集群中任意一臺計算機上,免密碼ssh登錄到其他計算了。
二、torque安裝與配置
(一)Master主服務器配置
torque鏈接?http://wpfilebase.s3.amazonaws.com/torque/torque-4.1.2.tar.gz?( 正常 )
?????????? ???http://www.adaptivecomputing.com/download/torque/torque-4.2.7.tar.gz?(下載出錯)
http://adaptive.wpengine.com/resources/downloads/torque/torque-2.5.12.tar.gz
下載網址:?Support Portal
注:以上鏈接在 centos 上無法下載,但是 windows 系統可以進去下載!!!
2015/1/24-http://wpfilebase.s3.amazonaws.com/torque/torque-4.2.5.tar.gz?(狀態可為 free ,但作業一直處于 Q 狀態)
2015/1/25-http://wpfilebase.s3.amazonaws.com/torque/torque-4.2.8.tar.gz?(子節點都是 down ,后來發現,應該是 centos7 防火墻問題,沒關閉成功)
2015/1/26-http://adaptive.wpengine.com/resources/downloads/torque/torque-2.5.12.tar.gz?到了 ./torque.setup root 出錯
2015/1/27-http://adaptive.wpengine.com/resources/downloads/torque/torque-4.1.7.tar.gz?(正常,但是子節點不能工作)
2015/1/28-http://adaptive.wpengine.com/resources/downloads/torque/torque-2.3.0.tar.gz??make 安裝有錯
2015/1/29-http://adaptive.wpengine.com/resources/downloads/torque/torque-4.2.9.tar.gz??親測,安裝配置一切正常
最后使用版本: torque-4.2.9.tra.gz
注:在 centos7 可以通過?http://wpfilebase.s3.amazonaws.com/torque/torque-4.2.9.tar.gz?下載,只要更改后面的版本號即可,但是 5.0 以上的名稱有所變化,尚未找到下載鏈接,只能通過 windows 下載下來,然后上傳到服務器上進行安裝
1、下載torque,版本可選,選擇合適的下載目錄,輸入下列命令
# wget –c?http://wpfilebase.s3.amazonaws.com/torque/torque-4.2.9.tar.gz
說明:保證 Master 服務器的主機名稱為 master ,且網絡連通
2、在root用戶下,解壓文件
# tar -zxvf torque-4.2.9.tar.gz
3、cd torque-4.2.1
4、master 配置
# yum?install?libxml2-devel?openssl-devel?gcc?gcc-c++?boost-devel?libtool-y
# ./configure?--prefix=/usr/local/torque-4.2.9?\
# --with-scp--with-default-server=master?&&?make?&&?make?packages&&?make?install
#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
5、在torque的解壓路徑運行**./torque.setup devin**時運行下面兩句,設置環境變量
TORQUE=/usr/local/torque-4.2.9??
echo?"TORQUE=$TORQUE"?>>/etc/profile
echo?"export?PATH=$PATH:$TORQUE/bin:$TORQUE/sbin"?>>/etc/profile
source/etc/profile
./torque.setuproot
6、啟動pbs_server、pbs_sched、pbs_mom、trqauthd幾個服務
# qterm –t quick??? ?
# for?i?in?pbs_server?pbs_sched?pbs_mom?trqauthd;?do?service?$i?start;?done
說明:Torque主要是由三個主要部件組成
pbs_server??PBS服務守護進程,負責接收作業提交,位于服務節點上
pbs_sched??PBS調度守護進程,負責調度作業,位于服務節點上?
pbs_mom??PBS MOM守護進程,?負責監控本機并執行作業,位于所有計算節點上
7、調度節點:
創建/var/spool/torque/server_priv/nodes文件并寫入如下內容
?master
注:此處可以設置每個節點的 cpu 個數
8、計算節點:
創建**/var/spool/torque/mom_priv/config**文件并寫入如下內容
$pbsserver master
$logevent 255
9、啟動torque,查看torque啟動狀態
# ps -e | grep pbs
# for?i?in?pbs_server?pbs_sched?pbs_mom?trqauthd;?do?service?$i?restart;?done
查看節點
# qnodes??????? # 或者是 pbsnodes –a
狀態為free則正常
10、測試:
傳建一個用戶devin,切換到該用戶上,然后提交一個任務,重復提交多次,然后回到root用戶,檢測
#adduser devin
# passwd devin????????? # 設置密碼
# su devin
# vi hello.sh
# qsub hello.sh? ?????? # 提交多次
# su root
# qstat –a –n??? ??????? # 查看作業分配和狀態
(二)Slave計算節點配置
1、設置ip,配置master和node的hosts,在**/etc/hosts**中
192.168.0.139 master
192.168.0.140 node1
2、設置master和node1之間ssh無密碼訪問
master? #ssh-keygen -t rsa
node1? ?#ssh-keygen-t rsa
master? # scp .ssh/id_rsa.pub?root@192.168.0.140:/root/.ssh/authorized_keys
node1?? # scp .ssh/id_rsa.pub?root@192.168.0.139:/root/.ssh/authorized_keys
或者是
Master:
??? # ssh-keygen?-r?rsa
# ssh-copy-id?-i??~/.ssh/id_rsa.pub?master
# ssh-copy-id?-i??~/.ssh/id_rsa.pub?node
Node:
# ssh-keygen?-r?rsa
# ssh-copy-id?-i??~/.ssh/id_rsa.pub?master
# ssh-copy-id?-i??~/.ssh/id_rsa.pub?node
3、在master運行下面代碼,將下面文件拷貝到node節點中,前提node節點有torque4目錄
# scp?torque-package-{mom,clients}-linux-x86_64.sh?node1 : torque4
# scp?contrib/init.d/{pbs_mom,trqauthd}?node1:/etc/init.d/
4、node節點安裝拷貝過來的兩個文件
# ./torque-package-clients-linux-x86_64.sh?--install??
# ./torque-package-mom-linux-x86_64.sh?--install??
5、配置環境
?創建**/var/spool/torque/mom_priv/config**文件并寫入如下內容
$pbsserver?master
$logevent 225
6、將計算節點加入到服務節點中
編輯**/var/spool/torque/server_priv/nodes**文件并寫入如下內容
node1
7、啟動pbs_mom
#for?i?in?pbs_mom?trqauthd;?do?service?$i?start;?done
集群搭建完畢:在集群中新增節點 compute-98g-1 添加步驟
master:
vi/etc/hosts??? ???
添加計算節點 ip 和名稱
10.10.12.10compute-98g-1
scp/etc/hosts root@ compute-98g-1:/etc/hosts
復制文件到計算節點覆蓋 hosts
vi/var/spool/torque/server_priv/nodes??
添加計算節點到 nodes : compute-98g-1
ssh compute-98g-1
compute-98g-1 :
serviceiptables stop??? ???
關閉防火墻
servicepbs_mom restart??? ?
啟動 pbs_mom
service trqauthdrestart?? ?
啟動 trqauthd
ssh master
master 運行 :
qterm –tquick
servicepbs_mom restart
servicepbs_server restart
qnodes??
過會兒可以看到節點都是 free 狀態
2015.01.30-11:16? 提問:提交任務能否分配任務? ? 目測應該是不能,還需要配置非 root 用戶的 ssh
2015.01.30-12:00? 經測試 , 如果沒有設置非 root 用戶的 ssh ,則報錯
設置非 root 用戶 ssh
說明: compute- 98g -1 下有 devin 用戶,在 devin 目錄下運行 ssh-keygen–t rsa
[devin@master ~]#scp .ssh/authorized_keys devin@compute-98g-1:/home/devin/authorized_keys
[devin@master ~]#ssh compute-98-1
[devin@compute-98g-1~]# cd .ssh
[devin@compute-98g-1.ssh]# cat id_rsa.pub >> authorized_keys
[devin@compute-98g-1 .ssh]# scp authorized_keys devin@master:/home/devin/authorized_keys
更高階級:Grid Engine
三、配置過程遇到的問題
1.torque 4.0 安裝
(1)是在qnodes查看節點的時候,報告trqauthd沒運行之類的。
首先把trqauthd從安裝目錄里面找到,拷貝到etc/init.d下邊
在etc/profile里面增加一行
/etc/init.d/trqauthd restart
(2)qnodes發現節點的狀態是down,查看server 日志發現說不認識hosts里面的當前主機
后來,在主機后面增加了域名,OK了。? 注意關閉防火墻
(3)若此時運行#qnodes找不到節點,
則運行:#qterm –t quick
然后重啟pbs_server服務:#service pbs_server restart
(4) 如果出現:
mxio@Node1:~/Downloads/torque-4.2.9$ ./torque.setup root
./torque.setup: 1: ./torque.setup: trqauthd: not found
trqauthd failed to start!!! exiting setup?錯誤,那么請檢查第三步并刷新source /etc/profile。
(5)設置環境變量并刷新 (刷新環境變量需要注意時效性,如果root或sudoer退出終端,在沒有重啟機器的前提下,那么還是要刷新下的,不然可能會提示木有trqauthd之類的錯誤)
sudo vi /etc/profile
添加
#Torque
export PATH=/usr/local/torque/bin:/usr/local/torque/sbin:$PATH
刷新環境變量 source /etc/profile
2.節點qnodes后一直是down
一定要記住:關閉防火墻,重啟也需要關閉防火墻
由于 centos7 關閉防火墻方式變化,需要配置一下,然后關閉
**?CentOS7的防火墻修改**
CentOS?7 默認使用firewalld來管理iptables規則,由于防火墻規則變動的情況很少,動不動態變得無所謂了。但是習慣是魔鬼,跟之前不一樣,總是感覺不太習慣。
systemctl disablefirewalld
yum remove firewalld -y
使用下面的辦法來恢復原來的習慣,同時解決iptables開機啟動的問題。
yum installiptables-services -y
systemctl enable iptables
這樣的話,iptables服務會開機啟動,自動從/etc/sysconfig/iptables文件導入規則。
為了讓/etc/init.d/iptablessave 這條命令生效,需要這么做
cp/usr/libexec/iptables/iptables.init /etc/init.d/iptables
/etc/init.d/iptables save
而chkconfig iptables 命令會自動重定向到sytemctl enableiptables
3.計算節點無法執行任務:unable to runjob,MOM rejected/rc=-1
解決:SSH 配置非root用戶的即可
配置普通用戶的 ssh
# su devin
# cd
# ssh-keygen -t dsa
# cd .ssh
# cat id_pub.dsa >>authorized_keys
# chmod 600 authorized_keys
然后ssh相互切換一次,在.ssh目錄下生成kown_hosts文件就ok了
4.報錯:"Post job file processing error;job 15.masteron host node1/0".
確定非root用戶ssh能夠切換
5.Network is unreachable intcp_connect_sockaddr
qterm –t quick 關閉 pbs_server 服務
service pbs_momrestart
service pbs_serverrestart
service pbs_schedrestart
service pbs_trqauthdrestart
6.pbs_mom:LOG_ERROR::rm_requestunkonwn command 5
沒有返回到master機器,檢查ssh是否配置好。見問題3!
7.子節點運行qnodes命令,報錯
qnodes:cannot connect toserver master,error=15137,(could not connect totrqauthd)
解決:service trqauthd restart?? 開啟trqauthd即可.
前提:在/etc/profile文件添加torque環境變量PATH=”……”
8.pbs_mom pbs_server pbs_schedtrqauthd服務開機啟動
將服務設定為開機啟動:?
#在伺服器端,以下這兩個為必要服務?
[ root@HPC torque-2.4.17]$ **chkconfig pbs_server on ?**
[root@HPC torque-2.4.17]$ **chkconfig pbs_sched on ?**
#如果也要把伺服器端加入運算資源中,那也要啟動pbs_mom?
[root@HPC torque-2.4.17]$chkconfigpbs_mom on
9.linux掛載訪問windows的共享目錄
mount?-t?cifs?-o?username=administrator,password=12345?//12.12.64.171/voice?/opt/test
四、Maui安裝及配置(可選)
torque默認情況下使用pbs_sched管理,但對于用戶權限的設置,可以使用Maui輔助
Maui的安裝
下載鏈接:http://www.adaptivecomputing.com/download/mauischeduler/maui-3.3.1.tar.gz
http://www.adaptivecomputing.com/downloading/?file=/mauischeduler/maui-3.3.1.tar.gz
http://www.adaptivecomputing.com/download/
(一) 服務節點上安裝 Maui
root@master# tarzxvf maui-3.2.6p20-snap.1182974819.tar.gz
root@master# cd maui-3.2.6p20
root@master#./configure –prefix=/usr/local/maui-3.2.6p20 -–with-pbs=/usr/local/torque-4.2.9
修改 maui-3.3.1/src/moab
?[ajdecon@master moab]$ vi MPBSI.c
< extern int get_svrport( const char *,char *,int);
< extern int openrm(char*,int);
改成
extern?unsigned?int get_svrport(char *,char*,unsignedint);
extern int openrm(char *,unsignedint);
然后
root@master# make
root@master# make install
(二)服務節點上配置 Maui
修改?/usr/local/maui/maui.cfg,主要為下面幾項:
SERVERHOSTkd50
# primary admin must be first in list
ADMIN1 root
# Resource Manager Definition
RMCFG[KD50] TYPE=PBS@RMNMHOST@RMTYPE[0] PBS****
啟動maui
?/usr/local/maui/sbin/maui?
相關命令
# tracejob 125????#追蹤 job的 運行狀態
# pbs_server –t quick //創建一個queue
# qmgr –c “p s”?? //顯示隊列信息
例:#?qdel?-W?15?211????????????15秒后刪除作業號為211的作業?
??
更多的關于Torque和Maui的使用,請參考《資源管理軟件?TORQUE?與安裝、設置》一文。?
Torque 官方網站說明文檔: ?
http://www.clusterresources.com/products/torque/docs/?Maui
官方網站說明文檔: ??
http://www.clusterresources.com/products/maui/docs/mauiadmin.shtml?
Maui安裝結束……
===================================================================================**?**
**?**
**五、Torque+Maui作業調度系統介紹?**
從用戶角度看,集群系統就好像一臺服務器或者PC。很多用戶可以同時使用這個系統。但是當太多的用戶使用集群系統時,系統性能會變得很差。資源管理就是管理用戶提交的作業,合理給各個作業分配資源從而確保充分利用集群系統計算能力并盡可能快的得到運算結果。簡單的說,集群資源由實現如下幾個部分:?
?資源管理器:為了確保分配給作業合適的資源,集群資源管理需要維護一個。這個
數據庫記?錄了集群系統中各種資源的屬性和狀態、所有用戶提交的請求和正在運行的作業。策略管理器根據這些數據和指定的調度策略生成優先級列表。資源管理器根據這優先級列表調度作業。資源管理器還應該具有資源預留能力。這樣不僅可以保留強大的資源給需要的作業,而且可以預留一定的冗余資源以應付集群中的結點失效和突發的計算。?
作業調度策略管理器:策略管理器根據資源管理器得到各個結點上的資源狀況和系
統的作業信息生成一個優先級列表。這個列表告訴資源管理器何時在哪些結點上運行哪個作業。策略管理器不僅要提供一個復雜的參數集合去定義計算環境和作業,而且要為這個定義提供簡捷靈活的表達方式以允許實現策略驅動的資源調度。
在IBM?HPC?Platform中我們采用了Torque+Maui的資源管理和作業調度系統;其中Torque作為集群資源管理器,而Maui則是作為調度策略管理器。
PBS(Portable?Batch?System)最初由NASA的Ames研究中心開發,主要為了提供一個能滿足異構計算網絡需要的軟件包,用于靈活的批處理,特別是滿足高性能計算的需要,如集群系統、超級計算機和大規模并行系統。PBS的主要特點有:代碼開放,免費獲取;支持批處理、交互式作業和串行、多種并行作業,如MPI、?PVM、HPF、MPL;PBS是功能最為齊全,?歷史最悠久,?支持最廣泛的本地集群調度器之一。PBS的目前包括openPBS,?PBS?Pro和Torque三個主要分支.?其中OpenPBS是最早的PBS系統,?目前已經沒有太多后續開發,?PBS?pro是PBS的商業版本,?功能最為豐富.?Torque是Clustering公司接過了OpenPBS,?并給與后續支持的一個開源版本。
應用PBS提交任務則會形成任務隊列,依次執行,有效分配資源,避免資源競爭。否則CPU時間片會輪流分配給各個人的任務,從而影響所有人的正常作業。
Maui集群調度器?是Moab集群套件前身,是一個開放源碼的集群和超級計算機作業調度器(scheduler)。?PBS是一個用于作業分配的調度器?(scheduler),其主要任務是分配批作業計算任務到現有的計算資源上。?以下版本的PBS系統目前可用:?OpenPBS:沒有技術支持的原始開源版本;?PBSPro(PBS專業版):由Altair?Engineering發行和支持的商業版本;?Torque:衍?生的OpenPBS,由Cluster?Resources?Inc.發展,支持和維護
Maui?是一個高級的作業調度器。它采用積極的調度策略優化資源的利用和減少作業的響應時間。Maui的資源和負載管理允許高級的參數配置:作業優先級(Job?Priority)、調度和分配(Scheduling?and?Allocation)、公平性和公平共享(Fairness?and?Fairshare)和預留策略(Reservation?Policy)。Maui的機制允許資源和服務的直接傳遞、策略解除(Policy?Exemption)和指定特征的受限訪問。Maui采用高級的資源預留架構可以保證精確控制資源何時、何地、被誰、怎樣使用。Maui的預留架構完全支持非入侵式的元調度。?Maui的設計得益于世界最大的高性能計算中心的經驗。Maui本身也提供測試工具和模擬器用于估計和調節系統性能。?
Maui?需要資源管理器與其配合使用。我們可以把Maui想象為PBS中的一個插入部件。?
總結
以上是生活随笔為你收集整理的CentOS下torque集群配置(一)-torque安装与配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Code pratice】—— 纸牌三
- 下一篇: untiy接入微信SDK实现iOS分享