#从源代码编译安装配置Torque
编译
安装
- 在控制节点(服务器,提交任务,调度)以root用户运行
- ./torque-package-server-linux-i686.sh --install
- ./torque-package-clients-linux-i686.sh --install
- 在计算节点(计算)以root用户运行
- ./torque-package-mom-linux-i686.sh --install
- ./torque-package-clients-linux-i686.sh --install
- 在需要安装horde的节点上以root用户运行
- ./torque-package-devel-linux-i686.sh --install
- cp src/include/cmds.h /usr/local/include
配置
- 在控制节点运行以root用户运行pbs_server -t create建立数据库
- 在控制节点运行qmgr,之后在交互界面输入以下命令:
set server operators = root@headnode
create queue batch
set queue batch queue_type = Execution
set queue batch started = True
set queue batch enabled = True
set server default_queue = batch
set server resources_default.nodes = 1
set server scheduling = True
set server keep_completed = 120
以下几条是为配合horde的特殊配置,允许从计算结点以root身份提交任务 set server acl_roots = root@*
set server allow_node_submit = True
输入exit退出qmgr交互配置程序 以/var/spool/torque为基础目录 在计算节点的server_name文件中写入控制节点主机名 在控制节点的server_priv/nodes文件中列出全部计算节点,形如: benq-laptop
acer-laptop np=2
在计算节点以root用户运行pbs_mom 在控制节点重启pbs_server进程 qterm -t quick
pbs_server
测试
- 在控制端运行echo "sleep 30" | qsub,显示任务名称
- 如果出现关于setuid的错误,以root用户运行chmod u+s /usr/local/sbin/pbs_iff
- 如果出现主机名解析方面的错误,调整/etc/hosts文件中的顺序,将server_priv/nodes中指定的名称放到最前
- 运行qstat -f查看任务信息,job_state为Q,表示等待运行
- 在控制端以root身份运行qrun 0.acer-laptop(换成qsub返回的任务名称)
- 运行qstat -f查看任务信息,job_state已经为R,表示正在运行
- 运行pbsnodes -a查看节点信息
默认调度器
- 在控制端以root身份启动pbs_sched
- 用qsub命令提交一个任务,例如echo "sleep 30" | qsub
- qstat -f查看任务信息,发现任务已经开始运行(job_state = R)
结果提交
- 任务运行的结果通过scp返回给控制端,因此要配置好控制端到各个计算端的ssh密钥
- 如果发送结果出错,可能需要用完整主机名(如acer-laptop@localdomain)登录ssh以添加指纹