【Linux】单计算机安装PBS系统(Torque)与运维

时间:2024-02-23 17:31:13

0、写在前面:此文是我刚读开始读硕士时练习使用实验室集群调度系统pbs写下的文字,其实写的很粗糙,忽略了很多细节。后来发现网络上有很多朋友对pbs系统的安装和运维感兴趣,但是能找到的资料比较少。我个人参考的是实验室内部wiki网站上的详细教程,此次导出成pdf放在:

https://raw.githubusercontent.com/wnm1503303791/interesting-work/master/blog/instruction_of_pbs_installation.pdf

如果有朋友对pbs非常感兴趣,可以参考这个pdf文档。

1、此次使用torque-5.0.0-1_43d8f09a.tar.gz这个版本http://www.adaptivecomputing.com/downloading/?file=/torque/torque-5.0.0-1_43d8f09a.tar.gz,个人备用下载链接:https://wnm1503303791.github.io/interesting-work/blog/torque-5.0.0-1_43d8f09a.tar.gz。我所使用的linux系统是centos6.5。将torque源码包下载至linux根目录下的tmp文件夹,tar -xf命令解压。并安装以下编译工具:

yum install libtool-devel libxml2-devel openssl-devel gcc gcc-c++ boost-devel

2、cd命令进入解压后的文件夹torque-5.0.0-1_43d8f09a,切换为root用户,逐次运行下列四条命令:

./configure
make
sudo make install
make packages

最后一条命令会在文件夹内产生下面这些.sh脚本:

torque-package-clients-linux-x86_64.sh
torque-package-devel-linux-x86_64.sh
torque-package-doc-linux-x86_64.sh
torque-package-mom-linux-x86_64.sh
torque-package-server-linux-x86_64.sh

在本机安装脚本:

./torque-package-clients-linux-x86_64.sh --install
./torque-package-mom-linux-x86_64.sh --install

在目录即/tmp/torque-5.0.0-1_43d8f09a下执行:

cp contrib/init.d/pbs_server /etc/init.d/pbs_server
chkconfig --add pbs_server
cp contrib/init.d/pbs_server /etc/init.d/pbs_sched
chkconfig --add pbs_sched
cp contrib/init.d/pbs_server /etc/init.d/trqauthd
chkconfig --add trqauthd

本机即是管理节点也是计算节点:

cp ./contrib/init.d/pbs_mom /etc/init.d/
chkconfig --add pbs_mom
service pbs_mom start
./torque.setup root
qterm -t quick
pbs_server
qstat -q

3、返回linux根目录:

cd /

进入路径:/var/spool/torque/server_priv/

创建nodes文件:

vi nodes

往里面写入内容:localhost.localdomain np=1

保存此文件,再reboot命令重启操作系统。

4、Torque主要是由三个主要部件组成:

(1)pbs_server:PBS服务守护进程,负责接收作业提交,位于服务节点上
(2)pbs_sched:PBS调度守护进程,负责调度作业,位于服务节点上 
(3)pbs_mom:PBS守护进程, 负责监控本机并执行作业,位于所有计算节点上

在单计算机环境下,以上三者均运行在本机。

5、明白了4的意思之后就启动torque了:

pbs_server
pbs_sched
pbs_mom
trqauthd

6、启动服务后可以写个脚本run.sh测试一下:

#!/bin/sh

g++ -o test1 test1.cpp
sleep 60
./test1

可以在本地随便写一个c++代码test1.cpp,然后命令提交脚本至pbs:

qsub ./run.sh

再使用命令qstat查看:

qstat -a

7、pbs常用命令汇总:

qsub提交作业、qstat查看已投运作业的情况、qdel删除作业、pnodes查看计算节点资源;
交互模式提交作业,qsub -I;在交互模式中转发图形界面,适用于画图、有图形界面的软件,qsub -I -X;
查看作业运行的节点,qstat -n;查看系统作业队列划分情况(每个队列包含的节点、用户控制),qstat -Qf;
pbs作业脚本常用格式:

#PBS -N python_cos_work
#PBS -l nodes=1:ppn=2
#PBS -l mem=2G
#PBS -l walltime=7200:00:00
#PBS -q batch 
#PBS -V  

cd /home/tuzhuo/code/git/pycode/rs
python cos.py

pnodes命令查看系统资源,根据系统可用的CPU资源,为自己的作业合理申请资源。

 

tz@croplab, HZAU

2019/7/26