说明:PBS排队系统原先是在Centos7安装使用很顺利,但是有客户需求在Ubuntu20.04上使用,着手在Ubuntu20.04安装上安装的时候发现很多报错,并不能顺利安装,网上查找到的教程,有的说是让放弃转slurm,有的是换源安装,但是安装好的版本很低,有许多bug,不是很好用。经过自己慢慢摸索之后,改了部分配置以及源码之后,能够顺利安装,再次记录一下踩坑心得,与大家一起分享学习。如有问题,欢迎大家来撩。


一、安装包下载

笔者使用的安装包版本为torque-6.1.2,点击下面的连接可以直接下载源码安装包。

http://wpfilebase.s3.amazonaws.com/torque/torque-6.1.2.tar.gz

二、更改主机hosts文件

使用下面命令查看自己本机的IP地址

ifconfig

查看结果如下,红色框为本机IP地址

 使用下面命令查看本机主机名

hostname

 查看结果如下图所示,fz即为笔者主机名。

打开hosts文件,在红框位置添加红框内容,前面为本机IP地址,后面为本机主机名

三、编译与安装

1、上传安装包至目标机器

笔者使用xshell连接之后,使用xftp工具进行文件传输至指定目录,笔者使用的目录为/home/fz/package

2、解压安装包

mkdir /home/fz/package
cd /home/fz/package
tar -zxvf torque-6.1.2.tar.gz
cd torque-6.1.2/

3、安装必要的库文件

sudo apt-get install make gcc g++ libxml2-dev zlib1g-dev libboost-all-dev libssl-dev -y

4、配置编译

./configure --prefix=/opt/torque/6.1.2 --with-scp--with-default-server=fz --disable-gcc-warnings

配置结束之后如下图所示,会提示准备make,但是别着急,需要修改代码,不然会报错。

 5、更改req.cpp文件

vim ./src/lib/Libattr/req.cpp

使用上面的命令打开req.cpp文件,更改将1057行的’\0’改为”\0″,如下图所示

 6、开始编译

输入下面命令进行编译

make -j64 CFLAGS='-fpermissive'

7、开始安装

使用一下命令进行安装

sudo make install

8、生成安装包

sudo make packages

9、服务配置

sudo cp contrib/init.d/{pbs_{server,sched,mom},trqauthd} /etc/init.d/
sudo cp contrib/systemd/{pbs_{server,sched,mom},trqauthd}.service /etc/systemd/system/

10、Torque环境变量设置

sudo su   // 进入root用户
TORQUE=/opt/torque/6.1.2
echo "TORQUE=$TORQUE" >> /etc/profile
echo "export PATH=\$PATH:$TORQUE/bin:$TORQUE/sbin" >> /etc/profile
source /etc/profile
exit      // 退出root用户

11、启动pbs服务

vim ./torque.setup

更改第一行中的sh为bash,更改结束如下图所示

启动服务

sudo ./torque.setup fz

 过程中需要输入y继续执行。

使用以下命令查看已启动的服务,并且将该启动的服务进程杀掉,如下图所示

ps -e | grep trqauthd
ps -e | grep pbs

 12、编辑pbs_sched文件

vim /etc/init.d/pbs_sched

将里面的. /etc/rc.d/init.d/functions改为. /lib/lsb/init-functions
然后将里面的status和daemon都改为start_daemon即可

13、再次启动pbs服务

for i in trqauthd pbs_server pbs_mom pbs_sched; do sudo service $i start; done

14、指定计算节点

sudo vim /var/spool/torque/server_priv/nodes
fz np=8  //添加本行信息,注意等号前后不要有空格 fz是主机名 np是cpu核心数,可以通过lscpu来查看

sudo vim /var/spool/torque/mom_priv/config
pbsserver fz     //添加这两行信息  fz是主机名
logevent 255

15、重启服务

sudo su
for i in trqauthd pbs_server pbs_sched pbs_mom ; do service $i restart; done
exit

16、检查PBS的信息

ps -e | grep pbs

结果如下

 17、创建队列的默认信息

qmgr -c 'create queue fz'
qmgr -c 'set queue fz queue_type= execution'
qmgr -c 'set queue fz started= true'
qmgr -c 'set queue fz enabled= true'
qmgr -c 'set queue fz resources_default.walltime= 240:00:00'
qmgr -c 'set queue fz resources_default.nodes= 1'
qmgr -c 'set server default_queue= fz'
qmgr -c 'set server scheduling=true'

注:如果提示找不到qmgr命令重启一个终端试一试(qmgr: command not found)

18、提交测试任务

输入qnodes会出现一下信息,说明初步安装成功

 再提交一个任务

echo sleep 120 | qsub

在输入qstat -an可以查看任务详情,如下图所示:

 四、设置PBS服务开机自启

1、编辑rc-local.service文件

sudo vim  /lib/systemd/system/rc-local.service

打开rc-local.service文件之后在最后添加如下代码

[Install]
WantedBy=multi-user.target  
Alias=rc-local.service

添加成功之后如下图所示

 2、创建并保存rc.local文件

sudo vim /etc/rc.local

打开rc.local文件之后添加如下代码

#!/bin/sh
systemctl start pbs_server.service
systemctl start trqauthd
systemctl start pbs_sched.service
systemctl start pbs_mom.service

3、赋予rc.local可执行权限

sudo chmod +x /etc/rc.local

4、为rc-local.service添加软链接

sudo ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/

5、使rc-local.service生效并启动

sudo systemctl enable rc-local
sudo systemctl start rc-local.service  #启动服务
# sudo systemctl stop rc-local.service  #暂停服务
# sudo systemctl status rc-local.service #查看状态
# sudo systemctl daemon-reload # 重新加载自启服务

参考文章:

[已放弃]<s>单机ubuntu编译安装PBS torque</s>

Centos 7, Torque 单节点部署

Ubuntu 18.04 单机安装torque


至此Ubuntu20.04 上的PBS安装就此告一段落了,如果大家在安装过程中出现了问题,可以在回看文中修改的关键信息,按照上述步骤就会成功,如还有问题欢迎私信交流!


版权声明:本文为r1141207831原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/r1141207831/article/details/125262556