代码改变世界

Centos 7, Torque 单节点部署 (转载)

2019-10-12 19:40  丨o聽乄雨o丨  阅读(1191)  评论(0编辑  收藏  举报

转载自https://www.cnblogs.com/zhaosongbin/p/8492470.html,主要用途为自己学习和记录。

1. 准备工作

安装Torque必须首先配置linux主机名称,服务器主机名称大多默认localhost,不建议直接使用localhost。我这里修改为master。

显示当前主机名:

1 [root@master ~]# hostname
  localhost.localdomain

修改方法:

1 [root@master ~]# hostnamectl set-hostname master
2 [root@master ~]# master

系统:centos7.x

主机:master

用户:root

作者使用torque版本:6.1.1.1 

下载链接:http://wpfilebase.s3.amazonaws.com/torque/torque-6.1.1.1.tar.gz

2. 安装和配置Torque

首先下载解压torque

1 [root@master ~]# cd Downloads
2 [root@master ~]# wget http://wpfilebase.s3.amazonaws.com/torque/torque-6.1.1.1.tar.gz #下载torque
3 [root@master Downloads]# tar zxvf torque-6.1.1.1.tar.gz # 解压安装包
4 [root@master Downloads]# cd torque-6.1.1.1

安装torque依赖包

1 [root@master torque-6.1.1.1]# yum install libxml2-devel openssl-devel gcc gcc-c++ boost-devel libtool-y

编译安装torque

1 [root@master torque-6.1.1.1]# ./configure --prefix=/usr/local/torque --with-scp--with-default-server=master
2 [root@master torque-6.1.1.1]# make -j 20
3 [root@master torque-6.1.1.1]# make install
4 [root@master torque-6.1.1.1]# make packages
5 [root@master torque-6.1.1.1]# libtool --finish /usr/local/torque/lib

 配置服务:pbs_server PBS,pbs_sched,pbs_mom,trqauthd

1 [root@master torque-6.1.1.1]# cp contrib/init.d/{pbs_{server,sched,mom},trqauthd} /etc/init.d/
2 [root@master torque-6.1.1.1]# for i in pbs_server pbs_sched pbs_mom trqauthd; do chkconfig --add $i; chkconfig $i on; done  # 遇见y/n选择y回车继续

设置Torque环境变量

1 [root@master torque-6.1.1.1] # vim /etc/bashrc
  # 将下列代码加入环境变量
  #torque
  TORQUE=/usr/local/torque
  export PATH=$TORQUE/bin:$TORQUE/sbin:$PATH

以root用户启动服务

1 [root@master torque-6.1.1.1]# ./torque.setup root    # 尝试以root启动,可能会报错,下面会解决
2 [root@master torque-6.1.1.1]# qterm    # 运行qterm关闭服务
3 [root@master torque-6.1.1.1]# ps -e | grep pbs    # 查找pbs服务
4 [root@master torque-6.1.1.1]# kill -9 xxxx(PID)    # 关闭服务
5 [root@master torque-6.1.1.1]# vim /etc/hosts    # 添加一行
172.16.x.xxx master # 需要添加的一行,master前写自己的ip
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
6 [root@master torque-6.1.1.1]# ./torque.setup root # 再次尝试以root启动服务,遇到y/(n),选y

开启服务pbs_server,pbs_sched,pbs_mom,trqauthd

1 [root@master torque-6.1.1.1]# qterm          #关闭服务
2 [root@master torque-6.1.1.1]# for i in pbs_server pbs_sched pbs_mom trqauthd; do systemctl start $i; done

指定计算节点

添加计算节点”master”,设置CPU的数量

检查CPU的数量通过使用命令“lscpu”或“nproc”

1 [root@master torque-6.1.1.1]# vi /var/spool/torque/server_priv/nodes
  master np=48          # 添加本行信息,注意等号前后不要有空格 master是主机名,np后面填核数
2 [root@master torque-6.1.1.1]# vi /var/spool/torque/mom_priv/config
  pbsserver master       # 添加这两行信息  master是主机名
  logevent 255

检查PBS的信息

1 [root@master torque-6.1.1.1]# ps -e | grep pbs
  11188 ?        00:00:00 pbs_sched
  11215 ?        00:00:00 pbs_mom
  29683 ?        00:00:00 pbs_server
2 [root@master torque-6.1.1.1]# for i in pbs_server pbs_sched pbs_mom trqauthd; do systemctl restart $i; done
  Restarting pbs_server (via systemctl):                     [  OK  ]
  Restarting pbs_sched (via systemctl):                      [  OK  ]
  Restarting pbs_mom (via systemctl):                        [  OK  ]
  Restarting trqauthd (via systemctl):                       [  OK  ]

创建队列默认信息

1 [root@master torque-6.1.1.1]# qmgr -c 'create queue master'
2 [root@master torque-6.1.1.1]# qmgr -c 'set queue master queue_type= execution'
3 [root@master torque-6.1.1.1]# qmgr -c 'set queue master started= true'
4 [root@master torque-6.1.1.1]# qmgr -c 'set queue master enabled= true'
5 [root@master torque-6.1.1.1]# qmgr -c 'set queue master resources_default.walltime= 240:00:00'
6 [root@master torque-6.1.1.1]# qmgr -c 'set queue master resources_default.nodes= 1'
7 [root@master torque-6.1.1.1]# qmgr -c 'set server default_queue= master'

提交任务测试

1 [root@master torque-6.1.1.1]# qnodes
 master
      state = free
      power_state = Running
      np = 48
      ntype = cluster
      status = opsys=linux,uname=Linux master 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64,sessions=17676,nsessions=1,nusers=1,idletime=8771,totmem=184157240kb,availmem=182764688kb,physmem=131728444kb,ncpus=48,loadave=0.01,gres=,netload=2178618,state=free,varattr= ,cpuclock=Fixed,macaddr=ac:1f:6b:95:c5:fc,version=6.1.1.1,rectime=1570879565,jobs=
      mom_service_port = 15002
      mom_manager_port = 15003
2 [root@master torque-6.1.1.1]# su wangq
3 [wangq@master torque-6.1.1.1]# echo sleep 10 | qsub
  2.master
4 [wangq@master torque-6.1.1.1]# qstat
  Job ID                    Name             User            Time Use S Queue
  ------------------------- ---------------- --------------- -------- - -----
  2.master                   STDIN            jianghf                0 R master
5 [wangq@master torque-6.1.1.1]# qstat -a -n
 
  master:
                                                                                    Req'd       Req'd       Elap
  Job ID                  Username    Queue    Jobname          SessID  NDS   TSK   Memory      Time    S   Time
  ----------------------- ----------- -------- ---------------- ------ ----- ------ --------- --------- - ---------
  2.master                jianghf     master   STDIN             19780     1      1       --  240:00:00 C       --
     master/0

主机名和现有主机名不一致的问题解决方案:

 这个问题一直没有找到出现的原因,但是怀疑是之前的Torque删除时没有删除干净,在“创建队列的默认信息”这一步的缓存依然存在。

在Torque安装成功后,停止Torque

1 [root@master torque-6.1.1.1]# for i in pbs_server pbs_sched pbs_mom trqauthd; do systemctl stop $i; done   # 停止服务
2 [root@master torque-6.1.1.1]# ./torque.setup root        # 重新运行这一步
3 [root@master torque-6.1.1.1]# vi /var/spool/torque/server_priv/nodes
  master np=48           # 添加这一行
4 [root@master torque-6.1.1.1]# for i in pbs_server pbs_sched pbs_mom trqauthd; do systemctl restart $i; done # 重新启动服务
5 [root@master torque-6.1.1.1]# qnodes      # 查询状态,成功