Linux系统

Centos7安装-单节点Torque

2017-11-20  本文已影响1166人  小小少年Boy

[TOC]

Centos7安装-单节点Torque

1 简介

PBS(Portable Batch System)最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。

PBS是功能最为齐全, 历史最悠久, 支持最广泛的本地集群调度器之一。PBS的主要特点有:代码开放,免费获取;支持批处理、交互式作业和串行、多种并行作业,如MPI、PVM、HPF、MPL。

PBS的目前包括:openPBS, PBS Pro和Torque三个主要分支.

OpenPBS:是最早的PBS系统, 目前已经没有太多后续开发

PBS pro:是PBS的商业版本, 功能最为丰富

Torque:是Clustering公司接过了OpenPBS, 并给与后续支持的一个开源版本

应用PBS提交任务则会形成任务队列,依次执行,有效分配资源,避免资源竞争。否则CPU时间片会轮流分配给各个人的任务,从而影响所有人的正常作业。

torque主要由三个主要部件组成:

PBS服务守护进程: pbs_server 负责接收作业提交,位于服务节点

PBS调度守护进程: pbs_sched 负责调度作业,位于服务节点

PBS MOM守护进程: pbs_mom 负责监控本机并执行作业,位于所有计算节点

2 PBS命令

PBS 提供4 条命令用于作业管理:

2.1 qsub 命令

qsub 命令:用于提交作业脚本

#命令格式:
$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

参数说明:因为所采用的选项一般放在pbs 脚本中提交,所以具体见PBS 脚本选项。

例:# qsub aaa.pbs 提交某作业,系统将产生一个作业号

2.1 qstat 命令

qstat 命令:用于查询作业状态信息

#命令格式:
$qatat -f-i-s -Q-B

参数说明:

参数 作用
-f jobid 列出指定作业的信息
-a 列出系统所有作业
-i 列出不在运行的作业
-n 列出分配给此作业的结点
-s 列出队列管理员与scheduler 所提供的建议
-R 列出磁盘预留信息
-Q 操作符是destination id,指明请求的是队列状态
-q 列出队列状态,并以alternative 形式显示
-au userid 列出指定用户的所有作业
-B 列出PBS Server 信息
-r 列出所有正在运行的作业
-Qf queue 列出指定队列的信息
-u 若操作符为作业号,则列出其状态。

例:# qstat -f 211 查询作业号为211 的作业的具体信息。

2.3 qdel 命令

qdel 命令:用于删除已提交的作业

#命令格式:
$qdel [-W 间隔时间] 作业号

例:# qdel -W 15 211 #15秒后删除作业号为211 的作业

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的任务提交给了系统。脚本中#PBS为脚本选项,用于设置一些参数。

#PBS -l 表示资源列表,用于设定特定任务所需的一些参数。这里的nodes表示并行环境下可以使用的节点数,而walltime表示任务最大时限,而cput表示cpu时间的最大时限,运行时间和cpu使用时间超过对应的时限,任务就会以超时退出。这三个参数不是PBS脚本参数,而是并行环境所需的参数。

#PBS -N 表示任务名称。

#PBS -j 表示系统输出,如果是oe,则标准错误输出(stderr)和标准输出(stdout)合并为stdout,如果是eo,则合并为stderr,如果没有设定或设定为n,则stderr和stdout分开。

#PBS -q 表示当前任务选用的队列。在并行环境下,一个系统中往往有多个队列,任务提交后,将在所选的队列中排除等候。系统中有哪些队列可以用qstat -q查看。

PBS脚本文件由脚本选项和运行脚本两部分组成。

  1. PBS作业脚本选项 (若无-C选项,则每项前面加‘#PBS’)

  2. 运行脚本同LINUX下一般的运行脚本文件格式如下:

​ mpirun –np 进程数 ./可执行程序名

4 Centos7单机安装torque

安装信息

名称 版本 下载
系统 CentOS-7-x86_64-DVD-1708 点击这里
Torque torque-6.1.1.1.tar 点击这里

节点信息

主机名 IP
master 192.168.64.51

通过编译源代码的方式安装torque由于整个torque都被安装在一台计算机上,所以上述pbs_server、pbs_mom和pbs_sched都会被安装在一起。

1 检查设置主机名

$hostnamectl set-hostname master

2 安装torque运行环境和依赖库

$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 设置安装的配置信息,然后编译、安装,打包。打包是为了以便在其他节点安装配置。

#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添加到系统初始化简脚本/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 设置环境变量

$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以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib.so),进而创建出动态装入程序(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
#或者使用如下一次开启、停止、查看状态
$  /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服务守护进程,负责接收作业提交,位于服务节点上
pbs_sched PBS调度守护进程,负责调度作业,位于服务节点上
pbs_mom PBS MOM守护进程, 负责监控本机并执行作业,位于所有计算节点上

image.png

8 用user用户提交作业

$su user1
$echo sleep 200 | qsub
$qstat -an
image.png

9 将master也作为计算节点,编辑/var/spool/torque/mom_priv/config

$pbsserver master

10 安装mom、client

在root用户下,执行:

$./torque-package-mom-*.sh --install
$./torque-package-clients-*.sh --install

12 创建设置作业队列

$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容器安装单节点PbsPro
4:Docker容器安装多节点PbsPro
5:Centos7安装-单节点Torque
6:Centos7安装-多节点Torque
7:Centos7安装-多节点PbsPro

参考资料

1 PBS Pro的安装及其作业管理命令

2 Centos7单机安装torque

3 作业提交系统Torque个人安装总结(PBS)

4 PBS(Portable BatchSystem)简介


​ 2017-11-16-Boy

上一篇下一篇

猜你喜欢

热点阅读