Centos7安装-多节点Torque

Centos7安装-多节点TorqueCentos7安装-多节点Torque1简介PBS(PortableBatchSystem)最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要,如集群系统、超级计算机和大规模并行系统。PBS的目前包括openPBS,PBSPro和Torque三个主要分支.其中OpenPBS是最早的PBS系统,目前已经没有

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

Centos7安装-多节点Torque

1 简介

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

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 负责监控本机并执行作业,位于所有计算节点

更多请看官网:adaptivecomputing.源码

2 建立SSH无密码访问

因为节点之间要进行数据传输和任务分发,所以要各个节点之间要建立ssh无密码访问。网上资料很多,不多说,可以参考:如何配置 SSH 免密码登录

3 安装

安装信息

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

节点信息

主机名 IP
master 192.168.64.51
salve1 192.168.64.52
salve2 192.168.64.53

在master安装所有组建,作为主节点,所有计算节点上安装pbs_mom和PBS客户端trqauthd,这里添加了一个计算节点salve1和salve2,可以自行添加多个计算节点,安装3.2 安装salves节点进行添加

3.1 安装master节点

安装

#解压
$tar -zxvf torque-6.1.1.1.tar
#下载依赖环境和相关库文件
$yum install -y libxml2-devel openssl-devel gcc gcc-c++ boost-devel libtool    
$cd torque-6.1.1.1
#设置安装配置信息
$./configure --prefix=/usr/local/torque --with-scp --with-default-server=master
#编译、安装,打包
$make && make install && make packages
#将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
#设置环境变量
$TORQUE=/usr/local/torque  
$echo "TORQUE=$TORQUE" >>/etc/profile
$echo "export PATH=\$PATH:$TORQUE/bin:$TORQUE/sbin" >>/etc/profile
$source /etc/profile
#设置TORQUE的管理用户,设置为非root用户
$./torque.setup user1
#启动pbs_server、pbs_sched、pbs_mom、trqauthd几个服务
$qterm
$for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i start; done

开启pbs服务

备注:**pbs开启、停止、重启和查看状态

$for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i start; done
$for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i stop; done
$for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i status; 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

配置

#添加计算节点,创建/var/spool/torque/server_priv/nodes,写入master,设置每个节点的cpu个数
$vi /var/spool/torque/server_priv/nodes
master np=4
#添加计算节点,master也可以作为计算节点
#创建/var/spool/torque/mom_priv/config文件
$vi /var/spool/torque/mom_priv/config
#并写入如下内容:$pbsserver master $logevent 255
$pbsserver master
$logevent 255

查看启动信息

#启动torque,查看torque启动状态
$ps -e | grep pbs
$for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i restart; done
$查看节点状况,状态为free则正常
$qnodes        #或者是pbsnodes –a

查看启动信息

测试

#新建user1用户
$adduser user1
$su user1
$echo sleep 7 | qsub
#查看作业分配和状态
$qstat –a –n            

在master上提交运行作业

3.2 安装salves节点

添加计算节点salve1

建立masterhe salve1的ssh无密码访问

#将master节点下torque-6.1.1.1的torque-package*文件copy到salve1节点torque6中
$scp torque-package-{mom,clients}-linux-x86_64.sh salve1:torque6
#将master节点下torque-6.1.1.1的contrib/init.d/{pbs_mom,trqauthd}文件copy到salve1节点/etc/init.d/
$scp contrib/init.d/{pbs_mom,trqauthd} salve1:/etc/init.d/
#安装拷贝文件
$./torque-package-clients-linux-x86_64.sh --install  
$./torque-package-mom-linux-x86_64.sh --install  
#创建/var/spool/torque/mom_priv/config文件
$vi /var/spool/torque/mom_priv/config
#并写入如下内容: $pbsserver master $logevent 225
$pbsserver master
$logevent 255
#将pbs_mom和trqauthd设置开机启动
$for i in pbs_mom trqauthd; do chkconfig --add $i; chkconfig $ion; done
#将计算节点加入到服务节点master中,切换到master节点
#编辑/var/spool/torque/server_priv/nodes文件并写入如下内容
salve1 np=4
#启动salve1节点的pbs_mom
$for i in pbs_mom trqauthd; do service $i start; done
#查看新增计算节点salve1
$qnodes

查看新增计算节点salve1

至此,计算节点salve1添加完毕!

**测试**salve1

#在计算节点salve1添加非root用户,和master节点要提交作业的用户一致,保持UID和GID相同,因为torque调度不允许root用户,在各节点上建立相同用户名及uid帐号
$adduser user1
#切换都master,使用非root用户user1测试提交作业
$ssh master
$su user1
$echo sleep 7 | qsub
#查看作业分配和状态
$qstat –a –n 

添加计算节点salve2

和添加计算节点salve1一样,建立ssh互信,安装pbs_mom和trqauthd服务,设置开机启动,并添加到master的调度计算node配置文件中,开启其服务,创建提交用户和master、salve1一致

测试

$ssh master
$su user1
$echo sleep 7 | qsub
$qstat -an
#追踪某个作业
$tracejob 47.master

测试

追踪作业47.master

3.3 安装maui

torque默认情况下使用pbs_sched管理,但对于用户权限的设置,可以使用Maui辅助

#官网注册下载maui,解压
$tar -zxvf maui-3.3.1.tar.gz
$cd maui-3.3.1
$./configure --prefix=/usr/local/maui --with-pbs=/usr/local/torque
#修改/src/moab/MPBSI.c
---将
< extern int get_svrport(const char *,char *,int);
< extern int openrm(char*,int);
---改成
> extern unsigned int get_svrport(char *,char*,unsigned int);
> extern int openrm(char *,unsigned int);
#编译安装
$make && make install
#服务节点上配置 Maui
#修改/usr/local/maui/maui.cfg,修改后如下所示

SERVERHOST            master
# primary admin must be first in list
ADMIN1                root
# Resource Manager Definition
RMCFG[MASTER] TYPE=PBS@RMNMHOST@RMTYPE[0] PBS

#Maui启动设置
#在Maui的解压目录里,修改/contrib/service-scripts/redhat.maui.d
MAUI_PREFIX=/usr/local/maui             #将其改为了Maui的安装目录
daemon --user root $MAUI_PREFIX/sbin/maui  #将用户名改为root
#保存退出,将其拷贝到/etc/init.d/目录中,并改名和加可执行权限
$cp  /contrib/service-scripts/redhat.maui.d  /etc/init.d/maui
$chmod  +x  /etc/init.d/maui
#之后就可以通过这个脚本启动、停止maui了
$/etc/init.d/maui  start      #启动maui
$/etc/init.d/maui  status     #查看maui开启状态
$/etc/init.d/maui  restart    #重启maui
$/etc/init.d/maui  stop       #停止maui
#将maui加入开机自启动
$echo “/etc/init.d/maui  start”  >> /etc/rc.local

启动maui

4 安装可能遇到的问题

1 在查看pbsnodes时出现MSG=node

pbsnodes: Server has no node list MSG=node list is empty - check 'server_priv/nodes' file
执行:qterm ,再重新启动pbs服务

2 节点down或者unavailable

查看节点时,节点一直是down或者unavailable,关闭防火墙,检查添加对于计算节点的配置,确保可以ssh切换,还有就是确保各个节点的服务都启动。

3 Bad UID for job execution MSG=Mom rejected the job.

在提交作业是,计算节点salve1和salve1添加后显示为free,但是提交作业时,作业只在master上执行,查看日志,显示提交给salve1的作业一直为“unable to run job, send to MOM ‘192.168.64.52’ failed”,在追溯到server的日志,说是“unable to run job, MOM rejected/timeout,Reject reply code=15025(Bad UID for job execution MSG=Mom rejected the job.)”,一开始以为需要添加非root用户ssh互联,各个节点的时区和时间要一致,但问题还是没有解决。

过了一两天看到有人在提到,需要在计算节点添加一致的非root用户,使其有一样的uid和gid,结合日志的错误信息Bad UID,然后分别在不同的计算节点添加一致的user后,执行提交作业,作业可以顺利提交到不同的节点上执行了。我觉得是原因是:pbs提交任务要在master的非root用户下,不同节点直接已经ssh互联,用master上的user1提交后,作业分发只分发到节点中相同用户,没有从用户的话,mom就无法执行此作业。

参考资料

1 CentOS下torque集群配置(一)-torque安装与配置

2 98torque使用指南:一些遇到的问题

3 Torque和Maui的安装及PBS常用命令

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


​ 2017-11-16-Boy

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/184590.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • C语言中volatile关键字的作用

    C语言中volatile关键字的作用一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:将内存变

  • rootfs.bin_libhdfs

    rootfs.bin_libhdfs忘了到底前几年看的一篇什么busybox的教程,写的及其复杂,以至于让我这么久以来一直不敢再去碰这个东西,直到今天又再次有了这个需求,特来再搞一次,没想到不到俩小时,一次搞定,特将这过程记录下来,以后也好有个参考。1环境宿主机:Ubuntu18.04交叉编译工具链:aarch64-linux-gnu-gcc7.4.0目标机:Armv8i.MX8EVKboard2下载…

  • linux下fdisk命令的用法详解[通俗易懂]

    linux下fdisk命令的用法详解 ((1)通过fdisk-l查看机器所挂硬盘个数及分区情况;一、fdisk用法详解举例说明:[root@localhost~]#fdisk-lDisk/dev/sda:250.1GB,250059350016bytes255heads,63sectors/track,30401cylindersUnits=…

  • Hadoop入门——初识Hadoop

    Hadoop入门——初识Hadoop推荐一个微信商城,扫码即可购买,性价比超高,程序员必备店主就是博主,有任何问题可随时通过商城内的微信与博主取得联系一.hadoop是什么Hadoop被公认是一套行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力。几乎所有主流厂商都围绕Hadoop开发工具、开源软件、商业化工具和技术服务。今年大型IT公司,如EMC、Microsoft、Intel、Teradata、…

  • matlab画三维图像函数_matlab怎么画图像

    matlab画三维图像函数_matlab怎么画图像PAT甲级1001&period;A&plus;BFormat&lpar;20&rpar;题目原文:Calculatea+bandoutputthesuminstandardformat–thatis,thedigitsmustbeseparated…ASP&period;NETCore管道深度剖析(3…

    2022年10月10日
  • 太原java技术培训_面试官说java基础不行

    太原java技术培训_面试官说java基础不行二、六大性能调优技术(JVM调优+网络调优+数据库调优+LINUX内核调优+中间件底层探索+容器环境调优)手绘板(脑图)1、JVM调优JVM调优必备理论知识-GcCOLLECTOR-三色标记垃圾回收算法串讲JVM常见参数总结JVM调优实战JVM(HotSpot)核心源码解读JVM核心模块(GC算法)手写实战2、网络调优TCP内核参数JAVAAPI参数IO模型TRADEOFF资源隔离优化网卡、CPU配置调优网络安全的加密算法与数字签名3、数据库调优Mysql性能监

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号