Torque在Linux集群上的安装配置

2024-03-24 10:48

本文主要是介绍Torque在Linux集群上的安装配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2008年7月的时候尝试安装Torque于TCCL的服务器上,失败。
2010年1月12日开始,再次尝试。希望不要再失败。

服务器的基本状况:
一个2T硬盘的前端存储节点,名称为tccl_front;9台8核的计算节点,名称分别为tccl01-tccl09。操作系统为CentOS 5.3 x86_64版本的Linux系统。
NIS服务已经配置好,存储节点的磁盘用NFS挂载在每个计算节点上作为共享磁盘。所有的应用软件都安装在此共享磁盘上。

1.ssh免密码登录.对每个用户都要设置。
2.下载Torque,解压缩,编译。
目前,torque 2.3是稳定版本,2.4是beta版本。为了稳定,我下载的是2.3.9版本。
下载地址:
http://clusterresources.com/downloads/torque
在PBS服务器节点上:
tar xvfz torque-2.3.9.tar.gz
configure需要加参数
./configure --enable-docs --with-scp --enable-syslog 
make
make packages
make install
将torque-package-mom-linux-i686.sh,torque-package-clients-linux-i686.sh安装到计算节点上。
将这两个文件拷贝到计算节点上(或者是共享磁盘上),登录进计算节点,运行:
./torque-package-mom-linux-i686.sh --install
./torque-package-clients-linux-i686.sh --install
可以使用dsh之类的工具来辅助。或者手工写一个脚本来完成这些工作。

3.配置pbs_mom为服务
在torque源码包contrib目录中有一个文件
cp contrib/init.d/pbs_mom /etc/init.d/pbs_mom
chkconfig --add pbs_mom
在所有的机器(pbs服务器和计算节点)上都需要如此设置。
写脚本来完成吧!比如
for i in `seq 1 9`
do 
echo tccl0$i
ssh tccl0$i "some command"
done

4.配置torque
1) 
ldconfig
2) Specify Compute Nodes
编辑文件
/var/spool/torque/server_priv/nodes
内容如下(注意,这里使用的都是机器的简称,与使用免密码登录时的机器名称相同):
tccl01 np=8 smallmem
tccl02 np=8 smallmem
tccl03 np=8 bigmem
tccl04 np=8 bigmem
tccl05 np=8 bigmem
tccl06 np=8 24G_Mem fastcpu
tccl07 np=8 24G_Mem fastcpu
tccl08 np=8 20G_Mem fastcpu
tccl09 np=8 24G_Mem fastcpu

3)Configure TORQUE on the Compute Nodes
按照系统的情况,配置如下:
在计算节点上编辑文件
/var/spool/torque/mom_priv/config
内容如下:
$pbsserver tccl_front
arch x86_64
opsys RHEL
$logevent 255
$ideal_load 4.0
$max_load 8.0
$tmpdir /tmp

4)初始化
torque.setup root
这会生成最基本的一个设置,有一个batch队列。如果需要比较复杂的队列,建议自己写一个配置文件,比如queue.conf文件。下面是一个有short,medium,long 共3个队列的配置文件:
#
# Create queues and set their attributes.
#
#
# Create and define queue batch
#
#create queue batch
#set queue batch queue_type = Execution
#set queue batch resources_default.nodes = 1
#set queue batch resources_default.walltime = 01:00:00
#set queue batch enabled = True
#set queue batch started = True

#Short queue
create queue short
set queue short queue_type = Execution
set queue short resources_default.nodes=1
set queue short Priority = 1000
set queue short max_running=20
set queue short max_queuable=40
set queue short max_user_run=10
set queue short max_user_queuable=20
set queue short resources_min.walltime=00:00:10
set queue short resources_max.walltime=12:00:00
set queue short resources_default.walltime = 12:00:00
set queue short resources_default.neednodes = smallmem
set queue short enabled = True
set queue short started = True

#Medium queue
create queue medium
set queue medium queue_type = Execution
set queue medium resources_default.nodes=1
set queue medium Priority = 100
set queue medium max_running=12
set queue medium max_queuable=20
set queue medium max_user_run=4
set queue medium max_user_queuable=8
set queue medium resources_min.walltime=12:00:10
set queue medium resources_max.walltime=48:00:00
set queue medium resources_default.walltime = 24:00:00
set queue medium enabled = True
set queue medium started = True
set queue medium resources_default.neednodes = fastcpu

#Long queue
create queue long   
set queue long queue_type = Execution
set queue long resources_default.nodes=1
set queue long Priority = 10
set queue long max_running=10
set queue long max_queuable=12
set queue long max_user_run=3
set queue long max_user_queuable=6
set queue long resources_min.walltime=48:00:00
set queue long resources_max.walltime=480:00:00
set queue long resources_default.walltime = 72:00:00
set queue long resources_default.neednodes = bigmem
set queue long enabled = True
set queue long started = True
#
# Set server attributes.
#
set server scheduling = True
set server acl_hosts = tccl_front
set server acl_hosts += tccl_front.tccl_group
set server acl_hosts += "tccl01,tccl02,tccl03,tccl04,tccl05,tccl06,tccl07,tccl08,tccl09"
set server acl_host_enable = true
set server managers = root@tccl_front.tccl_group
set server operators = root@tccl_front.tccl_group
set server default_queue = short
set server log_events = 511
set server mail_from = adm
set server scheduler_iteration = 10
set server node_check_rate = 120
set server tcp_timeout = 6
set server mom_job_sync = True
set server keep_completed = 120
#set server next_job_number = 0
set server query_other_jobs = True


运行
qmgr <queue.conf
即可完成两个队列(long,short)的基本设置。

需要注意的问题:
/etc/hosts设置
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost   localhost
::1    tccl_front6.tccl_group    localhost6
192.168.1.218    tccl_front.tccl_group    tccl_front
192.168.1.3    tccl01.tccl_group    tccl01
192.168.1.2    tccl02.tccl_group    tccl02
192.168.1.4     tccl03.tccl_group       tccl03
192.168.1.5     tccl04.tccl_group       tccl04
192.168.1.6     tccl05.tccl_group       tccl05
192.168.1.7     tccl06.tccl_group       tccl06
192.168.1.8     tccl07.tccl_group       tccl07
192.168.1.9     tccl08.tccl_group       tccl08
192.168.1.10    tccl09.tccl_group       tccl09
包含tccl_front的应该是192.168.*.*的IP,而不能是外网IP或者127.0.0.1的IP,切记!

5.安装mpiexec,这个是为了方便运行nwchem等程序。否则,删除任务以后,实际上没有将mpirun杀死。
http://www.osc.edu/~djohnson/mpiexec/index.php
下载,解压缩以后
./configure --with-pbs=/var/spool/torque --with-prefix=/home_srv/scicons/mpich/mpiexec --with-default-comm=shmem
make
make install
编译mpiexec时,需要注意--with-default-comm选项。这个选项要与mpirun的default-comm一致。比如,我的服务器上用的是shmem,这里就要设置为--with-default-comm=shmem
如果设置错误的话,会发现申请了n个processor,实际计算的时候只使用了一个。

6.将所有的pbs_iff程序setuid=root
chmod 4775 /usr/local/sbin/pbs_iff

参考文献:

http://clusterresources.com/torquedocs21/torquequickstart.shtml


http://zevan.blog.sohu.com/142998635.html

这篇关于Torque在Linux集群上的安装配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/841370

相关文章

Linux中压缩、网络传输与系统监控工具的使用完整指南

《Linux中压缩、网络传输与系统监控工具的使用完整指南》在Linux系统管理中,压缩与传输工具是数据备份和远程协作的桥梁,而系统监控工具则是保障服务器稳定运行的眼睛,下面小编就来和大家详细介绍一下它... 目录引言一、压缩与解压:数据存储与传输的优化核心1. zip/unzip:通用压缩格式的便捷操作2.

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

Linux中SSH服务配置的全面指南

《Linux中SSH服务配置的全面指南》作为网络安全工程师,SSH(SecureShell)服务的安全配置是我们日常工作中不可忽视的重要环节,本文将从基础配置到高级安全加固,全面解析SSH服务的各项参... 目录概述基础配置详解端口与监听设置主机密钥配置认证机制强化禁用密码认证禁止root直接登录实现双因素

嵌入式数据库SQLite 3配置使用讲解

《嵌入式数据库SQLite3配置使用讲解》本文强调嵌入式项目中SQLite3数据库的重要性,因其零配置、轻量级、跨平台及事务处理特性,可保障数据溯源与责任明确,详细讲解安装配置、基础语法及SQLit... 目录0、惨痛教训1、SQLite3环境配置(1)、下载安装SQLite库(2)、解压下载的文件(3)、

在Linux终端中统计非二进制文件行数的实现方法

《在Linux终端中统计非二进制文件行数的实现方法》在Linux系统中,有时需要统计非二进制文件(如CSV、TXT文件)的行数,而不希望手动打开文件进行查看,例如,在处理大型日志文件、数据文件时,了解... 目录在linux终端中统计非二进制文件的行数技术背景实现步骤1. 使用wc命令2. 使用grep命令

Linux如何快速检查服务器的硬件配置和性能指标

《Linux如何快速检查服务器的硬件配置和性能指标》在运维和开发工作中,我们经常需要快速检查Linux服务器的硬件配置和性能指标,本文将以CentOS为例,介绍如何通过命令行快速获取这些关键信息,... 目录引言一、查询CPU核心数编程(几C?)1. 使用 nproc(最简单)2. 使用 lscpu(详细信

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

SpringBoot连接Redis集群教程

《SpringBoot连接Redis集群教程》:本文主要介绍SpringBoot连接Redis集群教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 依赖2. 修改配置文件3. 创建RedisClusterConfig4. 测试总结1. 依赖 <de

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求