红联Linux门户
Linux帮助

Ubuntu 14.04安装Torque记录

发布时间:2016-02-12 15:28:22来源:linux网站作者:天乐树

之前有写过安装Torque,当时比较迷糊,其实现在也很糊涂。最近服务器挂掉了,意外断电,曙光先后来给换了一根内存条、一块主板、一块硬盘。系统搞了好久,硬盘raid出问题了,死活装不了,换了N个系统。最终发现,显示器分辨率太高了,ubuntu系统安装时不能启动GUI。用惯了Ubuntu,最后还是自己装下它吧。不过14.04的Bug异常多。就当做小白鼠了。

其实Ubuntu有编译好的Torque,只需要安装 torque-server torque-mom torque-scheduler,再加些配置即可。但是发现它弄得scp秘钥有问题,配置了半天rsa秘钥也没有解决日志移位的问题。所以一怒之下,还是自己编译吧!

之前的Torque 2.x已经被淘汰,Ubuntu 14.04下configure会报gcc编译器错误,所以果断换版本。

保守点从Torque 4.x编译。

环境:新装Ubuntu 14.04 LTS X64


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

添加:

$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@Node1
set server operators = root@Node1
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掉那个进程,重新启动之。


本文永久更新地址:http://www.linuxdiyf.com/linux/18027.html