作业提交系统Torque

PBS是功能最为齐全,历史最悠久,支持最广泛的本地集群调度器之一。 PBS的目前包括openPBS,PBS Pro和Torque三个主要分支。 其中OpenPBS是最早的PBS系统,目前已经没有太多后续开发,PBS pro是PBS的商业版本,功能最为丰富。Torque是Clustering公司接过了OpenPBS,并给与后续支持的一个开源版本。
下面是本人安装torque的过程。

一、Torque安装
master(管理结点上)
1、解压安装包
[root@master tmp]# tar zxvf torque-2.3.0.tar.gz

2、进入到解压后的文件
./configure --with-default-server=master
make
make install
安装完成后,将torque文件夹中的bin、sbin加入到环境变量中

3
1[root@master torque-2.3.0]#./torque.setup <user>
<user>必须是个普通用户

2[root@master torque-2.3.0]#make packages
把产生的 tpackages , torque-package-clients-linux-x86-64.sh,
torque-package-mom-linux-x86-64.sh 拷贝到所有节点。

3[root@master torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh --install
[root@master torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh --install

4)编辑/var/spool/torque/server_priv/nodes (需要自己建立)
     加入如下内容
master  np=4
node01 np=4
.......
node09 np=4
5)启动pbs_server,pbs_sched,pbs_mom,并把其写到/etc/rc.local里使其能开机自启动。
6)创建队列
[root@master ~]# qmgr
create queue students
set queue students queue_type = Execution
set queue students Priority = 40
set queue students resources_max.cput = 96:00:00
set queue students resources_min.cput = 00:00:01
set queue students resources_default.cput = 96:00:00
set queue students enabled = True
set queue students started = True
4、在node0x x=1-9,计算结点上)
[root@node0x torque-2.3.0]# ./torque-package-clients-linux-x86_64.sh --install
[root@node0x torque-2.3.0]# ./torque-package-mom-linux-x86_64.sh --install
然后启动pbs_mom ,pbs_mom写入/etc/rc.local
二、Torque PBS使用
1、创建用户
   masterroot
   useradd test
passwd test
   输入test密码
/var/ypmake一下
2、配置普通用户的ssh
   su test
   cd
ssh-keygen -t dsa
cd .ssh
cat id_pub.dsa >>authorized_keys
chmod 600 authorized_keys
3、编写作业脚本
[test1@master t]vi pbsjob
#!/bin/tcsh
#PBS -o /home/test1/pbstest/t/output 标准输出文件
#PBS -e /home/test1/pbstest/t/error 错误输出文件
#PBS -l nodes=5:ppn=4 规定使用的节点数以及每个节点能跑多少核
#PBS –q students 把任务提交到students队列中
cd $PBS_O_WORKDIR 到工作目录下(此为PBS提供的环境变量)
mpirun –machine $PBS_NODEFILE -np 20 ./vasp
4、启动mpd
mpdboot -n 10 -f mfa
mfa内容:
master:4
node01:4
….
node09:4
5、提交,查询,删除作业

提交作业:qsub pbsjob

作业提交后会有一个作业号

[test1@master pbstest]$ qsub pbsjob

48.master

查询作业:qstat

[test1@master pbstest]$ qstat

Job id                               Name                User            Time Use  S        Queue

------------------------- ---------------- --------------- --------  - -------------------------------

48.master                         pbstest               test1            00:00:00   R        students

删除作业:qdel 作业号

[test1@master pbstest]$ qdel 48

 

 

 

 

 

====================================================================

 

下载torque-2.3.0.tar包,置于HOME下
        tar xvf torque-2.3.0.tar
        cd torque-2.3.0
        ./configure
        make
        make install
        ./torque.setup
注1:这一步后面的user必须得是非root用户。
注2:这一步之前要把/usr/local/sbin/加入到PATH中。
        make packages
将产生的 tpackages,torque-package-clients-linux-x86-64.sh和torque-package-mom-linux-x86-64.sh 拷贝到所有节点。
在所有节点上执行./torque-package-clients-linux-x86_64.sh --install和./torque-package-mom-linux-x86_64.sh --install,主节点上也执行一下。
编辑/var/spool/torque/server_priv/nodes
        格式为
        node1 np=8
        node2 np=8
        ……
编辑/var/spool/torque/server_name内容为主节点的名字。
在主节点启动pbs_server,pbs_sched,pbs_mom,直接输入这三个命令就可以了,在计算节点只要启动pbs_mom。
创建队列,使用root用户
        qmgr
        create queue students
        set queue students queue_type = Execution
        set queue students enabled = True
        set queue students started = True
注:这里不能使用它默认的那个队列,否者用ms提交任务时会出现权限问题,不知道为什么。
至此配置完成,可以使用qstat/qstat -Q/qstat -q/qstat -f等命令查看队列状态。
4配置MS网关
假设MS安装在默认位置,在HOME下
设置使用PBS管理作业:
        cd ~/Accelrys/MaterialsStudio44/etc/Gateway/config/
        ./configure queue -queuepath PBS/dsd_pbs -activate
编辑../../Gateway/root_default/dsd/conf/gw-info.sbd
设置参数queuingsystem=PBS/dsd_pbs
编辑../../Gateway/root_default/dsd/conf/gwparams.cfg
设置参数gw_queuingsystem=PBS
重启网关~/Accelrys/MaterialsStudio44/etc/Gateway/msgateway_control_18888 restart
5Windows下的设置:
在Sever Console下刷新服务器,确认服务器属性中的queue里有我们建立的students队列。
在提交计算任务里的queue选上students,就可以啦~~

PS:如果队列一直显示queued不开始,而确实服务器上又没有任务在计算的话,可以使用qrun jobid来开始任务。我第一次是这么开始,之后就不用了,不知道为什么

你可能感兴趣的:(linux,ssh,配置管理,脚本,F#)