torque配置
torque配置
- torque配置
- 實驗要求
- 通用環境配置
- 關閉防火墻
- 無密碼登陸
- 修改hosts文件
- torque 安裝
- server配置
- 節點配置
- 創建隊列
- 測試
- 串行文件測試
- 并行文件測試結合MPICH
- 出現錯誤
- 要點
實驗要求
在五臺機器上搭建torque分布式集群環境
lk:master
slave2~5:slave節點
通用環境配置
關閉防火墻
查看防火墻狀態
service iptables status
然后永久關閉防火墻,使用chkconfig iptables off命令,此時當前虛擬機的防火墻還沒有關閉。只有在關機重啟后才能生效。
無密碼登陸
將A的公鑰放進B的~/.ssh/authorized_keys,那么A就可以無密登陸B
先生成公私鑰對
ssh-keygen
默認放在~/.ssh/中將公鑰弄進B中
文件傳輸:xshell的rz和sz將公鑰放入~/.ssh/authorized_keys
用指令
cat id_rsa.pub >> ~/.ssh/authorized_keys
配置完成之后,就可以直接
ssh IP進行登陸
修改hosts文件
- /etc/hosts
- /etc/hostname
在每個機器上的這個文件夾里面改成上面的對應的昵稱
eg:在lk中,這個文件里面就是lk,在10.113.10.2 中,就是slave2
torque 安裝
server配置
下載torque
wget http://wpfilebase.s3.amazonaws.com/torque/torque-4.2.9.tar.gz
或者在官網下載解壓文件
- 編譯安裝
- 設置環境變量
初始化torque server db
./torque.setup root啟動pbs_server、pbs_sched、pbs_mom、trqauthd幾個服務
說明:Torque主要是由三個主要部件組成
pbs_server PBS服務守護進程,負責接收作業提交,位于服務節點上
pbs_sched PBS調度守護進程,負責調度作業,位于服務節點上
pbs_mom PBS MOM守護進程, 負責監控本機并執行作業,位于所有計算節點上
- 配置torque
創建/var/spool/torque/mom_priv/config文件并寫入如下內容
$pbsserver master $logevent 225- 將計算節點加入到服務節點中
編輯/var/spool/torque/server_priv/nodes文件并寫入如下內容
- 配置hosts文件
添加自己所控制主機的IP以及主機名
類似于:
這里注意,各個主機的名字最好改一下,不要用一樣的,因為torque要用node節點的名字查找IP進行通信,同時,所用node節點名字要與主機名對應。
- 啟動torque
- 節點配置
然后sudo啟動qmgr:
若提示沒有該指令,則進入 /usr/local/bin ,然后sudo啟動。
啟動后執行以下指令:(括號內可以不填,用簡寫即可)
節點配置
首先都要配置無密碼登陸,/etc/hosts,/etc/hostname這些文檔
從server中拷貝文件
將這兩個文件拷貝到計算節點上(或者是共享磁盤上),登錄進計算節點,運行:
- hosts設置
與服務節點相同,編輯 /etc/hosts ,添加相關主機名與IP
添加內容:
$pbsserver master # hostname running pbs server $logevent 225 # bitmap of which events to log- 啟動mom服務
同樣進入 /usr/local/sbin
- 查看torque狀態和節點狀態
ps -e | grep pbs
qnodes #或者是pbsnodes –a
結果
lkstate = freepower_state = Runningnp = 2ntype = clusterstatus = ......slave2state = freepower_state = Runningnp = 2ntype = clusterstatus = ...... slave3state = freepower_state = Runningnp = 2ntype = clusterstatus = ...... slave4state = freepower_state = Runningnp = 2ntype = clusterstatus = ......slave5state = freepower_state = Runningnp = 2ntype = clusterstatus = ......顯示free就是可以的
- 查看消息日志:
cd /var/spool/torque
進入相關log文件夾查看
創建隊列
qmgr添加queue
自動搞定:
- 查看queue:
測試
- 常用指令
- torque的調度需要使用非root用戶
串行文件測試
[qsb@lk sharefold]$ cat 11.pbs #!/bin/bash #PBS -N job11 #PBS -o job11.log #PBS -e job11.err #PBS -q batch cd /data/sharefold echo Running on hosts `hostname` >> 11.txt echo Time is `date` >> 11.txt echo Directory is $PWD >> 11.txt echo This job runs on the following nodes: >> 11.txt cat $PBS_NODEFILE >> 11.txt echo This job has allocated 1 node >> 11.txt ./hello >> 11.txt并行文件測試(結合MPICH)
#!/bin/bash #PBS -N job22 #PBS -o /data/sharefold/job22.log #PBS -e /data/sharefold/job22.err #PBS -q batch #PBS -l nodes=4 cd /data/sharefold echo Time is `date` >>22.txt echo Directory is $PWD >>22.txt #echo This job runs on the following nodes: >>22.txt #cat $PBS_NODEFILE >>22.txt #NPROCS=`wc -l < $PBS_NODEFILE` >>22.txt #echo This job has allocated $NPROCS nodes >>22.txt mpiexec -machinefile machinefile -np 16 ./cpi >>22.txt運行結果
出現錯誤
用腳本去寫的時候,因為參照網上的程序,用了$PBS_NODEFILE和$NPROCS nodes,導致一直沒有結果出來
直接使用正常的命令就行了
其實挺坑的,網上的不能全信
要點
hostname,hosts,還有/var/spool/torque/mom_priv/config里面的控制節點的名稱要相同,子節點的名稱要和子節點的hostname對應上
修改完hostname之后要輸入 bash --login 進行更新
不要輕易運行 torque.setup ——會覆蓋之前的所有數據——什么運算節點信息都會清除
總結
- 上一篇: Centos7安装搭建FTP服务器VSF
- 下一篇: 从零开始制作基于Unity引擎的宝石消消