...
1. 安装sge
安装master节点:
安装执行主机:
1.配置主机的host表。
2.把要安装的目标主机添加为管理主机: qconf –ah hkdev-4
3.在目标节点上新建sgeadmin用户,拷贝整个安装包到目标主机
4.配置service 端口:
Vim /etc/service添加两行:
sge_qmaster 50001/tcp
sge_execd 50002/tcp
5. 把头节点的/opt/gridengine拷贝到计算节点,运行./install_execd,默认安装即可。
6. 设置环境变量vim /etc/profile.d/sge.sh
SGE_ROOT=/home/sgeadmin/sgeroot; export SGE_ROOT
ARCH=`$SGE_ROOT/util/arch`
DEFAULTMANPATH=`$SGE_ROOT/util/arch -m`
MANTYPE=`$SGE_ROOT/util/arch -mt`
SGE_CELL=sgetest; export SGE_CELL
SGE_CLUSTER_NAME=p50001; export SGE_CLUSTER_NAME
unset SGE_QMASTER_PORT
unset SGE_EXECD_PORT
if [ "$MANPATH" = "" ]; then
MANPATH=$DEFAULTMANPATH
fi
MANPATH=$SGE_ROOT/$MANTYPE:$MANPATH; export MANPATH
PATH=$SGE_ROOT/bin/$ARCH:$PATH; export PATH
# library path setting required only for architectures where RUNPATH is not supported
case $ARCH in
sol*|lx*|hp11-64)
;;
*)
shlib_path_name=`$SGE_ROOT/util/arch -lib`
old_value=`eval echo ‘$’$shlib_path_name`
if [ x$old_value = x ]; then
eval $shlib_path_name=$SGE_ROOT/lib/$ARCH
else
eval $shlib_path_name=$SGE_ROOT/lib/$ARCH:$old_value
fi
export $shlib_path_name
unset shlib_path_name old_value
;;
esac
unset ARCH DEFAULTMANPATH MANTYPE
|
注意:1.sge整个安装包的用户和组权限应该是sgeadmin,sge目录应该保证其他用户可读。
2.要求关闭防火墙或者打开端口,我选择了关闭防火墙
2.添加队列:
新建一个队列hiseq.q:
[root@hkdevlogin-1 ~]# qconf -aq hiseq.q //队列名
qname hiseq.q //队列名
hostlist @hiseqhosts //主机组,定义这个队列中包含的所有主机
seq_no 0
…
slot 100 //可以使用的资源
…
notify 00:00:60
owner_list NONE
user_lists dms //用户列表,这个列表中的用户允许使用该队列,其他的用户不允许使用该队列
xuser_lists NONE
|
qconf –sql 可以查看所有的队列
[root@hkdevlogin-1 ~]# qconf -sql
all.q
hiseq.q
prs.q
|
qconf –sq 队列名 可以查看某一个队列的配置信息
定义@hiseqhosts主机组:
[root@hkdevlogin-1 ~]# qconf -mhgrp @hiseqhosts
group_name @hiseqhosts
hostlist hkdev-1.genomics.org.cn hkdev-2.genomics.org.cn\ //多个主机需要换行时需要加”\”
hkdev-3.genomics.org.cn
|
qconf –shgrpl 可以查看所有的主机组
[root@hkdevlogin-1 ~]# qconf -shgrpl
@allhosts
@hiseqhosts
@prshosts
|
qconf –shgrp 组名 可以查看某个主机组信息
定义用户列表 dms:
[root@hkdevlogin-1 ~]# qconf -mu dms
name dms //用户组名称
type ACL DEPT
fshare 0
oticket 0
entries dms //该用户组中的用户,多个用户用逗号隔开
|
qconf -sul 可以查看所有的用户组
[root@hkdevlogin-1 ~]# qconf -sul
arusers
deadlineusers
defaultdepartment
dms
prs
test
|
qconf -su 用户组名 可以查看某个用户组的信息
[root@hkdevlogin-1 ~]# qconf -su prs
name prs
type ACL DEPT
fshare 0
oticket 0
entries prs
|
注 :要使用sge,必须在每个节点上都建立同一个帐号,相同的uid和gid
查看队列中主机的情况:
qselect –q 队列名称
[root@hkdevlogin-1 ~]# qselect -q hiseq.q
hiseq.q@hkdev-2.genomics.org.cn
hiseq.q@hkdev-1.genomics.org.cn hiseq.q@hkdev-3.genomics.org.cn
|
3. qstat使用:
qstat –f
qstat –explain
qstat –j jobid
4. qmod使用:
qmod –cq 队列名
qmod -cj job名
5. 修改默认shell
[root@hkdevlogin-1 ~]# qconf –mconf //编辑sge的配置文件
login_shells bash,sh,ksh,csh,tcsh //把默认shell改为bash
[root@hkdevlogin-1 ~]# qconf -mq all.q //编辑队列配置文件
shell /bin/bash //把默认的shell改为bash
|
6. 限制单个计算节点可以使用的资源
[root@hkdevlogin-1 ~]# qconf -me hkdev-1
hostname hkdev-1.genomics.org.cn
load_scaling NONE
complex_values slots=24,virtual_total=32G //这个值不设置的话默认可以使用的值为无限大,任务较多的时候容易把节点跑死掉。
user_lists NONE
xuser_lists NONE
projects NONE
xprojects NONE
usage_scaling NONE
report_variables NONE
|
7. sge简单使用
qsub –cwd –l vf=1G –q common.q –l h=compute-0-0 test.sh
test.sh:
#!/bin/bash
#$ –S /bin/bash
sleep 100;
|
8. 启用-l vf参数
[root@qcs script]# qconf –mc
#name shortcut type relop requestable consumable default urgency
#—————————————————————————————-
virtual_free vf MEMORY <= YES YES 0 0
|