1. 下载Torque源代码:
http://www.adaptivecomputing.com/support/download-center/torque-download/
我下载了:torque-4.1.7.tar.gz
2. 解包并编译:
cd Downloads/
tar -xzvf torque-4.1.7.tar.gz
cd torque-4.1.7/
./configure --prefix=/usr/local/torque
提示缺少 openssl-dev和 libxml2-dev之类的,补上它们。。。
configure: error: TORQUE needs lib openssl-devel in order to build
输入 sudo apt-get install libssl-dev
configure: error: TORQUE needs lib libxml2-devel in order to build
输入 sudo apt-get install libxml2-dev
直至 ./configure --prefix=/usr/local/torque没有提示缺少库,ready to make为止。
像这样提示:
Building components: server=yes mom=yes clients=yes
gui=no drmaa=no pam=no
PBS Machine type : linux
Remote copy : /usr/bin/scp -rpB
PBS home : /var/spool/torque
Default server : rccm
Unix Domain sockets :
Linux cpusets : no
Tcl : disabled
Tk : disabled
命令:make
命令:sudo make install
3. 设置环境变量并刷新 (刷新环境变量需要注意时效性,如果root或sudoer退出终端,在
没有重启机器的前提下,那么还是要刷新下的,不然可能会提示木有trqauthd之类的错误)
sudo vi /etc/profile
添加
#Torque
export PATH=/usr/local/torque/bin:/usr/local/torque/sbin:$PATH
刷新环境变量
sudo -s
source /etc/profile(使配置生效)
4. 安装需管理员权限
仍然在 torque-4.1.7 文件夹下
sudo ./torque.setup root
如果出现:
mxio@Node1:~/Downloads/torque-4.1.7$ sudo ./torque.setup root
./torque.setup: 1: ./torque.setup: trqauthd: not found
trqauthd failed to start!!! exiting setup 错误,那么请检查第三步并刷新source /etc/profile。
出现类似下面的成功:
pbs_server port is: 15001
trqauthd daemonized - port 15005
trqauthd successfully started
initializing TORQUE (admin: root@Node1)
You have selected to start pbs_server in create mode.
If the server database exists it will be overwritten.
do you wish to continue y/(n)?y
root 495 1 1 17:40 ? 00:00:00 pbs_server -t create
Max open servers: 9
Max open servers: 9
5. 配置需管理员权限
sudo -s
查看计算机名
hostname
输出 Node1 (服务器计算机名)
vi /etc/hosts 将计算机名添加进hosts,我选择注释掉127.0.1.1 Node1,改成:
127.0.0.1 Node1 localhost
#127.0.1.1 Node1
进入torque主目录进行环境变量设置:
cd /var/spool/torque
vi server_priv/nodes
添加:
Node1 np=32
即计算机名和CPU数目
vi mom_priv/config(没有config文件,只能自己生成)
添加:
$pbs_server = 127.0.0.1
vi server_name
添加:
Node1
6. 启动client daemon
pbs_mom
7 重启pbs server daemon
qterm
pbs_server
8. 启动scheduler daemon
pbs_sched
9. 检查服务是否正确启动
ps -aux | grep pbs #check all is running
qstat -q #check the presence of the queue
qmgr -c 'p s' #check server & queue settings
pbsnodes -a #check if the nodes are listed and up
10. 配置列队
qmgr -c "set queue batch resources_default.walltime = 360:00:00"
qmgr -c "set server query_other_jobs = True"
qmgr -c "set queue batch resources_max.ncpus=32"
11. 测试列队(只能用普通用户来执行)
首先退出root
exit
source /etc/profile
echo "sleep 30" | qsub
qstat
12. 配置开启启动
cd到torque-2.4.6/contrib/init.d目录下
sudo -s
cp debian.pbs_mom /etc/init.d/pbs_mom && update-rc.d pbs_mom defaults
cp debian.pbs_server /etc/init.d/pbs_server && update-rc.d pbs_server defaults
cp debian.pbs_sched /etc/init.d/pbs_sched && update-rc.d pbs_sched defaults
cp debian.trqauthd /etc/init.d/trqauthd && update-rc.d trqauthd defaults
注,请检查DAEMON是否为/usr/local/torque/sbin/$NAME,不是的话请修改。
13. 重启计算机
echo "sleep 30" | qsub
qstat
输出:
Job ID Name User Time Use S Queue
------------------------- ---------------- --------------- -------- - -----
2.Node1 STDIN mxio 0 Q batch
成功搞定。
备注
1. Torque默认列队配置:
命令:qmgr -c 'p s'
-----------------------------------------------------------------------------------------------
显示:#
# 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
#
# Set server attributes.
#
set server scheduling = True
set server acl_hosts = Node1
set server managers = root@yu
set server operators = root@yu
set server default_queue = batch
set server log_events = 511
set server mail_from = adm
set server scheduler_iteration = 600
set server node_check_rate = 150
set server tcp_timeout = 300
set server job_stat_rate = 45
set server poll_jobs = True
set server mom_job_sync = True
set server keep_completed = 300
set server next_job_number = 0
set server moab_array_compatible = True
--------------------------------------------------------------------------------------------------------------------------
2. 配置过程中,如果遇到启动pbs_server pbs_mom pbs_scheduler出现错误,那么kill掉那个进程,重新启动之。
3.命令yumh@yu:~/pbs/torque-4.1.7/contrib$ qstat -q
-----------------------------------------------------------------------------------------------------------------------显示:
server: yu
Queue Memory CPU Time Walltime Node Run Que Lm State
---------------- ------ -------- -------- ---- --- --- -- -----
batch -- -- -- -- 0 0 -- E R
----- -----
0 0
------------------------------------------------------------------------------------------------------------------------------
4.命令:yumh@yu:~/pbs/torque-4.1.7/contrib$pbsnodes -a
---------------------------------------------------------------------------------------
显示:
yu
state = free
np = 32
ntype = cluster
status = rectime=1441542747,varattr=,jobs=,state=free,netload=46929,gres=,loadave=0.05,ncpus=1,physmem=3347760kb,availmem=6331620kb,totmem=6748460kb,idletime=3,nusers=4,nsessions=20,sessions=477 1029 1550 3189 4379 4444 4464 4470 4475 4493 4494 4497 4508 4528 4535 4550 4553 4667 4920 5164,uname=Linux yu 3.11.0-12-generic #19-Ubuntu SMP Wed Oct 9 16:12:00 UTC 2013 i686,opsys=linux
mom_service_port = 15002
mom_manager_port = 15003
gpus = 0
----------------------------------------------------------------------------------------------------------------------------
补记:
让torque发送任务信息邮件
系统要求安装好sendmail
因此:
sudo apt-get install sendmail
sudo apt-get install mailutils
此时测试是否启动 ps aux |grep sendmail
显示:
root 1592 0.0 0.0 90476 2556 ? Ss 16:39 0:00 sendmail: MTA: accepting connections
mxio 2570 0.0 0.0 7628 956 pts/0 S+ 16:49 0:00 grep --color=au
to sendmail
You have mail in /var/mail/mxio
测试是否可以正常发送邮件:
编写一般的邮件:
mail test@mail.com
显示:
Cc,抄送,跳过按enter
Subject: 输入内容,完成后按ctrl+D结束编辑发送
当目标邮箱接收到邮件后,说明配置正确。
如果之前没有配置sendmail,那么torque需要重新编译安装,正常顺序即可
编写PBS时添加:
#PBS -m abe -M test@mail.com
即可接收
其中:-m abe
a 是任务终止邮件 b是任务开始邮件 e是任务结束邮件,正常情况下,全开abe会接收到2封邮件
-M 是目标邮件地址
接收任务结束的邮件:
mxio
2012.5.28
补记:
Torque Qmgr设置:
qmgr -c 'p s'
qmgr -c 'set server xxx=xxx' 设置server列队参数
qmgr -c 'unset server xxx' 取消server xxx的设置
qmgr -c 'set server managers += mxio@Node1'
qmgr -c 'set server operators += mxio@Node1'
qmgr create queue xxx 建立xxx列队
qmgr delete queue xxx 删除xxx列队
qmgr -c 'set server mail_from = mxio' 设置发送邮件人,这样发件人就是 mxio
下面设置 发送邮件的 domain,因为默认发送邮件的邮箱地址是 adm@localhost.domainname 这样邮件是不能回复的
进入 sendmail的设置环节,需要root身份:
su -
vi /etc/mail/submit.mc
将:dnl MASQUERADE_AS()dnl
改为:
MASQUERADE_AS(`126.com')dnl
其中126.com就是选用邮箱的地址 这样完整的发件人邮箱地址就是 : mxio@126.com
注意的地方就是:上面两行括号里的点不是两个单引号. 而是一个 ` 和 一个单引号 '
保存
service sendmail restart
如此设置,提交列队如果请求发送邮件的话,那么发件人就是你设置的这个“虚假”的邮箱地址,但是它又真实存在,这样用户回发的邮件就可以回复到这个“虚假”的地址上,方便管理员查收邮件。
mxio
2012.5.30
Sendmail发送很慢的问题
vi /etc/hosts 添加
127.0.0.1 localhost.localdomain localhost yourhostname
这样设置服务器别名,sendmail就绕过DNS查找主机名的A记录和反向域名记录,从而发送邮件就快了。
mxio