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


    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

  • 相关阅读:
    【整理】在一亿个数中寻找出现频率最多的4个
    【整理】静态页面提交数据
    使用SIlverlight 4.0开发时,遇到提示"...Missoft.Silverlight.CSharp.Targets"文件路径不对的解决办法
    关于vs2010服务器资源管理器再添加数据连接时无法获取服务器名的解决办法
    关于Silverlight角色扮演游戏Sprite经典属性设计
    [学习笔记]Silverlight+WCF对数据库进行操作
    【学习】Silverlight中读取XML文件
    TCP/IP之UDP协议
    Tornado Prespective(转)
    TCP/IP之IP选路及动态选路
  • 原文地址:https://www.cnblogs.com/acm-icpcer/p/11239455.html
Copyright © 2020-2023  润新知