torque配置
来源:互联网 发布:session用法 java 编辑:程序博客网 时间:2024/05/10 03:45
torque配置
- torque配置
- 实验要求
- 通用环境配置
- 关闭防火墙
- 无密码登陆
- 修改hosts文件
- torque 安装
- server配置
- 节点配置
- 创建队列
- 测试
- 串行文件测试
- 并行文件测试结合MPICH
- 出现错误
- 要点
实验要求
在五台机器上搭建torque分布式集群环境
lk:master
slave2~5:slave节点
通用环境配置
关闭防火墙
查看防火墙状态
service iptables status
然后永久关闭防火墙,使用chkconfig iptables off命令,此时当前虚拟机的防火墙还没有关闭。只有在关机重启后才能生效。
无密码登陆
将A的公钥放进B的~/.ssh/authorized_keys
,那么A就可以无密登陆B
先生成公私钥对
ssh-keygen
默认放在~/.ssh/
中将公钥弄进B中
文件传输:xshell的rz和sz将公钥放入
~/.ssh/authorized_keys
用指令cat id_rsa.pub >> ~/.ssh/authorized_keys
配置完成之后,就可以直接 ssh IP
进行登陆
修改hosts文件
- /etc/hosts
IP + 昵称10.113.10.1 lk10.113.10.2 slave210.113.10.3 slave310.113.10.4 slave410.113.10.5 slave5
- /etc/hostname
在每个机器上的这个文件夹里面改成上面的对应的昵称
eg:在lk中,这个文件里面就是lk,在10.113.10.2 中,就是slave2
torque 安装
server配置
下载torque
wget http://wpfilebase.s3.amazonaws.com/torque/torque-4.2.9.tar.gz
或者在官网下载解压文件
tar -zxvf torque-XXXcd torque-XXX
- 编译安装
//解决依赖问题yum install libxml2-devel openssl-devel gcc gcc-c++ boost-devel libtool-y//./config 这个我也不是很懂,具体要看文档./configure --prefix=/usr/local/torque //编译安装,还有构建packages//一定要make packages,后面有用makesudo make installmake packages//将生成的程序放入/etc/init.d/,便于启动cp contrib/init.d/{pbs_{server,sched,mom},trqauthd} /etc/init.d/for i in pbs_server pbs_sched pbs_mom trqauthd; do chkconfig --add $i; chkconfig $ion; done
- 设置环境变量
//具体看本机的路径TORQUE=/usr/local/torque //配置环境变量echo "TORQUE=$TORQUE" >>/etc/profileecho "export PATH=\$PATH:$TORQUE/bin:$TORQUE/sbin" >>/etc/profilesource /etc/profileecho '/usr/local/lib' > /etc/ld.so.conf.d/torque.confldconfig./torque.setup username
初始化torque server db
./torque.setup root
启动pbs_server、pbs_sched、pbs_mom、trqauthd几个服务
for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i start; done
说明:Torque主要是由三个主要部件组成
pbs_server PBS服务守护进程,负责接收作业提交,位于服务节点上
pbs_sched PBS调度守护进程,负责调度作业,位于服务节点上
pbs_mom PBS MOM守护进程, 负责监控本机并执行作业,位于所有计算节点上
- 配置torque
创建/var/spool/torque/mom_priv/config文件并写入如下内容
$pbsserver master$logevent 225
- 将计算节点加入到服务节点中
编辑/var/spool/torque/server_priv/nodes文件并写入如下内容
lk np=2slave2 np=2slave3 np=2slave4 np=2slave5 np=2
- 配置hosts文件
sudo vim /etc/hosts
添加自己所控制主机的IP以及主机名
类似于:
10.113.10.1 lk10.113.10.2 slave210.113.10.3 slave310.113.10.4 slave410.113.10.5 slave5
这里注意,各个主机的名字最好改一下,不要用一样的,因为torque要用node节点的名字查找IP进行通信,同时,所用node节点名字要与主机名对应。
- 启动torque
for i in pbs_server pbs_sched pbs_mom trqauthd; do service $i restart; done
- 节点配置
然后sudo启动qmgr:
sudo qmgr
若提示没有该指令,则进入 /usr/local/bin ,然后sudo启动。
启动后执行以下指令:(括号内可以不填,用简写即可)
c(reate) q(ueue) abc abc为队列名 s(et) q(ueue) abc queue_type=execution s(et) q(ueue) abc enabled=true s(et) s(erver) default_queue=abc 设置默认队列 s(et) s(erver) scheduling=true c(reat) n(ode) master 添加节点,要填写之前配置的主机名,不要填IP q(uit)此时用 pbsnodes 查看节点状态,如果master状态为free,则是正常的,否则可以杀掉mom进程然后重启一下
节点配置
首先都要配置无密码登陆,/etc/hosts,/etc/hostname这些文档
从server中拷贝文件
将这两个文件拷贝到计算节点上(或者是共享磁盘上),登录进计算节点,运行:
./torque-package-mom-linux-i686.sh --install./torque-package-clients-linux-i686.sh --install
- hosts设置
与服务节点相同,编辑 /etc/hosts ,添加相关主机名与IP
vim /var/spool/torque/mom_priv/config
添加内容:
$pbsserver master # hostname running pbs server$logevent 225 # bitmap of which events to log
- 启动mom服务
同样进入/usr/local/sbin
sudo pbs_mom或者 service pbs_mom或者ps -e | grep pbsfor i in pbs_server pbs_sched pbs_mom trqauthd; do service $i restart; done
- 查看torque状态和节点状态
ps -e | grep pbs
qnodes #或者是pbsnodes –a
结果
lk state = free power_state = Running np = 2 ntype = cluster status = ......slave2 state = free power_state = Running np = 2 ntype = cluster status = ......slave3 state = free power_state = Running np = 2 ntype = cluster status = ......slave4 state = free power_state = Running np = 2 ntype = cluster status = ......slave5 state = free power_state = Running np = 2 ntype = cluster status = ......
显示free就是可以的
- 查看消息日志:
cd /var/spool/torque
进入相关log文件夹查看
创建队列
qmgr添加queue
自动搞定:
$ qmgr -c "p s" ```也可以手动搞定: ```$ qmgr -c "s s scheduling=true"$ qmgr -c "c q batch queue_type=execution"$ qmgr obj=batch svr=default: Queue already exists$ qmgr -c "set queue batch started=true"$ qmgr -c "set queue batch enabled=true"$ qmgr -c "set queue batch resources_default.nodes=1"$ qmgr -c "set queue batch resources_default.walltime=3600"$ qmgr -c "set server default_queue=batch"
- 查看queue:
$ qstat -q//outputserver: lkQueue Memory CPU Time Walltime Node Run Que Lm State---------------- ------ -------- -------- ---- --- --- -- -----batch -- -- -- -- 0 0 -- E R ----- ----- 0 0
测试
- 常用指令
qsub jobx.pbs(提交作业) qstat (查看作业) pbsnodes (查看节点)
- torque的调度需要使用非root用户
串行文件测试
[qsb@lk sharefold]$ cat 11.pbs #!/bin/bash #PBS -N job11 #PBS -o job11.log #PBS -e job11.err #PBS -q batch cd /data/sharefoldecho Running on hosts `hostname` >> 11.txtecho Time is `date` >> 11.txtecho Directory is $PWD >> 11.txtecho This job runs on the following nodes: >> 11.txt cat $PBS_NODEFILE >> 11.txt echo This job has allocated 1 node >> 11.txt./hello >> 11.txt
并行文件测试(结合MPICH)
#!/bin/bash #PBS -N job22 #PBS -o /data/sharefold/job22.log #PBS -e /data/sharefold/job22.err #PBS -q batch #PBS -l nodes=4 cd /data/sharefoldecho Time is `date` >>22.txtecho Directory is $PWD >>22.txt#echo This job runs on the following nodes: >>22.txt#cat $PBS_NODEFILE >>22.txt#NPROCS=`wc -l < $PBS_NODEFILE` >>22.txt#echo This job has allocated $NPROCS nodes >>22.txt mpiexec -machinefile machinefile -np 16 ./cpi >>22.txt
运行结果
出现错误
用脚本去写的时候,因为参照网上的程序,用了$PBS_NODEFILE
和$NPROCS nodes
,导致一直没有结果出来
直接使用正常的命令就行了
其实挺坑的,网上的不能全信
要点
hostname
,hosts
,还有/var/spool/torque/mom_priv/config
里面的控制节点的名称要相同,子节点的名称要和子节点的hostname对应上修改完hostname之后要输入
bash --login
进行更新不要轻易运行 torque.setup ——会覆盖之前的所有数据——什么运算节点信息都会清除
- torque配置
- TORQUE
- Torque
- Torque
- torque
- Apache Torque的关键配置参数 (DBCP)
- mpich2+torque+maui配置及运行
- Torque + Maui配置手册之抛砖引玉篇
- Torque PBS安装配置过程及问题
- Torque配置(转载,感谢羊神)
- CentOS下torque集群配置(一)-torque安装与配置
- Torque在Linux集群上的安装配置
- Torque在Linux集群上的安装配置 分享
- CentOS下torque集群配置(四)温馨提示
- ubuntu 12.04下配置单机pbs(torque)
- torque--客户端使用torque
- Torque总结
- torque引擎
- C#模拟http 发送post或get请求
- 数据结构Java实现05----栈:顺序栈和链式堆栈
- Android开源库之沉浸式通知栏的简单实现(SystemBarTintManager)
- 第十三周 项目一验证算法 4.验证平衡二叉树相关算法
- 信息摘要算法的功能
- torque配置
- Ubuntu系统用户忘记密码怎么办?
- matlab2015a连接mysql数据库
- SpringMVC国际化
- Unity 项目与iOS项目 合并 嵌入 交互 传值
- 如何让同一服务,ip域名session共享。
- C++STL--map和set词频统计和单词转换
- spring-boot+JPA+Thymeleaf动态生成select下拉选
- 行业资深人士预测:2018年新能源汽车技术发展趋势---凯利讯半导体