总结:
1、安装系统
2、修改/etc/hosts文件将计算节点服务节点对应的IP加入其中,此处不加则无法进行通信
3、关闭防火墙service iptables stop,此处不停止则无法进行通信
4、安装Torque并将生成的*.sh packet放到各个计算节点中,在计算节点中安装。
5、计算节点需要手动配置config文件,之后再启动pbs_mom,此处不加则pbsnodes时状态始终为down,state = down
6、启动master节点pbs_server,pbs_sched
7、提交任务,查看任务,结束
详细信息可参考我下面写的内容或http://www.clusterresources.com/torquedocs21/1.2basicconfig.shtml
环境配置:
Fedora12 ISO 下载
http://download.chinaunix.net/down.php?id=31289&ResourceID=12802&site=6
torque-4.1.2 下载
http://www.adaptivecomputing.com/resources/downloads/torque/ 最新的安装包,这里使用的是4.1.2版本,文件名是torque-4.1.2.tar.gz。
安装
[plain] view plain copy print ?
- $ ./configure
- $ make
- $ sudo make install
- $ make packages (用来产生在其它机器上安装用的安装包,运行完后会生成几个torque-package-*.sh文件)
安装后,查看环境变量“PATH”,确保/usr/local/bin和/usr/local/sbin在“PATH”里面。
切换到root用户
[plain] view plain copy print ?
- # echo '/usr/local/lib' > /etc/ld.so.conf.d/torque.conf
- # ldconfig
初始化与配置
[plain] view plain copy print ?
- # ./torque.setup <user> //<user> 替换为非root用户即可
启动停止服务
这里需要说明一下,Torque主要是由三个主要部件组成
pbs_server PBS服务守护进程,负责接收作业提交,位于服务节点上
pbs_sched PBS调度守护进程,负责调度作业,位于服务节点上
pbs_mom PBS MOM守护进程, 负责监控本机并执行作业,位于所有计算节点上
可以使用下面命令来启动Torque服务
[plain] view plain copy print ?
- $ sudo pbs_server //在服务器节点执行
- $ sudo pbs_sched //在服务器节点执行
- $ sudo pbs_mom //在计算节点执行
- $ sudo trqauthd
另外Torque也提供了一些脚本,可以使用linux的service来启动停止Torque,方法就是将Torque目录下的下面几个文件复制到/etc/init.d目录下,如下:
[plain] view plain copy print ?
- $ sudo cp contrib/init.d/pbs_server /etc/init.d/
- $ sudo cp contrib/init.d/pbs_sched /etc/init.d/
- $ sudo cp contrib/init.d/pbs_mom /etc/init.d/
- $ sudo cp contrib/init.d/trqauthd /etc/init.d/
然后就可以使用下面命令来启动停止服务了
[plain] view plain copy print ?
- $ sudo /etc/init.d/pbs_server start|stop|status
- $ sudo /etc/init.d/ pbs_sched start|stop|status
- $ sudo /etc/init.d/ pbs_mom start|stop|status
- $ sudo /etc/init.d/ trqauthd start|stop|status
测试
1. 在master机器上写一个测试脚本/opt/test/sleep.sh, 内容如下
[plain] view plain copy print ?
- #!/bin/sh
-
- sleep 600
2. 提交作业
[plain] view plain copy print ?
- $ qsub /opt/test/sleep.sh
3. 检查作业
[plain] view plain copy print ?
- $ qstat -a -n
此时可以看到各个作业的运行状态。
假定“单机安装运行PBS (Torque)”中安装的机器作为master,下面来向cluster添加新的nodes。这里假定新加入nodes的机器名是host1和host2。
安装
1. 将master机器上生成的torque-package-*.sh文件复制到host1和host2上,host1和host2分别为计算机的名称,同时将host1和host2加入/etc/hosts
如 IP1 host1;IP2 host2
2. 分别在host1和host2上运行下面命令执行安装
[plain] view plain copy print ?
- $ ./torque-package-mom-*.sh --install
- $ ./torque-package-clients-*.sh --install
启动停止服务
1. 分别在host1和host2上运行下面命令启动mom服务
$TORQUEHOME = /var/spool/torque,在mom_priv目录下新建一个config文件,加入下面的代码,同时将master及对应的IP地址加入计算节点的/etc/hosts文件中。
$TORQUEHOME/mom_priv/config:
$pbsserver master # note: hostname running pbs_server
$logevent 255 # bitmap of which events to log
[plain] view plain copy print ?
- $ sudo /usr/local/sbin/pbs_mom
2. 在master机器上添加节点
[plain] view plain copy print ?
- $ qmgr -c 'create node host1 np=2'
- $ qmgr -c 'create node host2 np=2'
添加完成后可以在master机器上使用qnodes命令查看,此时看到的新加入的两个节点state应该是offline。
3. 在master机器上重启服务使修改生效
[plain] view plain copy print ?
- $ sudo /etc/init.d/pbs_server restart
再次在master机器上运行qnodes查看新加入节点状态,此时state变成了free,这说明新加入的节点已经生效可以使用了。
测试
1. 在master机器上写一个测试脚本/opt/test/sleep.sh, 内容如下
[plain] view plain copy print ?
- #!/bin/sh
-
- sleep 600
2. 提交作业 (可以多提交一些,来检查是不是作业被分发到新添加的机器上运行了,比如运行下面的命令15次)
[plain] view plain copy print ?
- $ qsub /opt/test/sleep.sh
3. 检查作业
[plain] view plain copy print ?
- $ qstat -a -n
此时可以看到各个作业是在那个机器上运行的。
在安装Torque4.1.2之后,运行"sudo ./torque.setup <user>"有时候出现下面的错误
[plain] view plain copy print ?
- ================================================================================
- initializing TORQUE ...
-
- 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 28100 1 1 04:03 ? 00:00:00 pbs_server -t create
- Max open servers: 9
- qmgr obj= svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- Max open servers: 9
- qmgr obj= svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- qmgr obj= svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- qmgr obj= svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- qmgr obj= svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- qmgr obj=batch svr=default: Unauthorized Request MSG=error in permissions (PERM_MANAGER)
- qmgr obj=batch svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- qmgr obj=batch svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- qmgr obj=batch svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- qmgr obj=batch svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- qmgr obj=batch svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
- qmgr obj= svr=default: Unauthorized Request MSG=error in permissions (PERM_OPorMGR)
-
- ================================================================================
解决方法:修改/etc/hosts文件,将当前机器IP和机器名添加进去
比如添加前配置信息如下
[plain] view plain copy print ?
- 127.0.0.1 localhost.localdomain localhost
- ::1 localhost6.localdomain6 localhost6
修改后配置后如下
[plain] view plain copy print ?
- 127.0.0.1 localhost.localdomain localhost
- ::1 localhost6.localdomain6 localhost6
-
- 192.168.0.100 myhost