centos 安装 gridengine 详细操作步骤
Installation of Son of Grid Engine(SGE) on CentOS 6.7
mgt# hostnamectl set-hostname mgt.hpc.com
mgt# vi /etc/hosts
10.1.1.1 mgt mgt.hpc.com
10.1.1.101 node01 node01.hpc.com
1)源码编译:
mgt# yum -y install ant junit openssl-devel ncurses-devel pam-devel libXmu-devel hwloc java-devel javacc ant-junit csh ksh xterm perl-XML-Simple xorg-x11-fonts-ISO8859-1-100dpi xorg-x11-fonts-ISO8859-1-75dpi
mgt# yum localinstall jemalloc-*
mgt# groupadd -g 490 sgeadmin
mgt# useradd -u 490 -g 490 -r -m -d /home/sgeadmin -s /bin/bash -c "SGE Admin" sgeadmin
mgt# visudo
%sgeadmin ALL=(ALL) NOPASSWD: ALL
mgt# tar zxvf sge-8.1.9.tar.gz && cd sge-8.1.9/source/
mgt# sh scripts/bootstrap.sh && ./aimk && ./aimk -man
mgt# export SGE_ROOT=/opt/gridengine && mkdir $SGE_ROOT
mgt# echo Y | ./scripts/distinst -local -allall -libs -noexit
mgt# chown -R sgeadmin.sgeadmin /opt/gridengine
2)设置SGE
mgt# cd $SGE_ROOT
mgt# ./install_qmaster
一直回车
.....
mgt# cp /opt/gridengine/default/common/settings.sh /etc/profile.d/
mgt# . /etc/profile.d/settings.sh
mgt# qconf -sh
mgt
mgt# qconf -ah node01
node01 added to administrative host list
添加管理节点为执行主机
mgt# cd $SGE_ROOT
mgt# ./install_execd
一直回车
....
开启服务
[root@hostname gridengine]# /etc/init.d/sgemaster start
Starting sgemaster: [ OK ]
[root@hostname gridengine]# /etc/init.d/sge_execd start
Starting sge_execd: [ OK ]
如果没有设置 “ SGE_ROOT ” 环境,执行命令就会收到这样的提示。
[root@hostname gridengine]# qhost
critical error: Please set the environment variable SGE_ROOT.
## for node
[root@mgt ~]# tar zcvf sge-bin.tgz /opt/gridengine/
mgt# pscp -r sge-bin.tgz node01:/root/
[root@mgt ~]# ssh node01 "tar zxvf /root/sge-bin.tgz -C /"
mgt# scp /etc/passwd node01:/etc; scp /etc/group node01:/etc
ssh node01
node01# export SGE_ROOT=/opt/gridengine && cd $SGE_ROOT
node01# chown -R sgeadmin.sgeadmin /opt/gridengine
node01# cd $SGE_ROOT; ./install_execd
一直回车
....
node01# cp /opt/gridengine/default/common/settings.sh /etc/profile.d/
node01# . /etc/profile.d/settings.sh
[root@node01 gridengine]# /etc/init.d/sgeexecd.p6444 start
sge_shepherd won't run -- dynamic library missing?
[root@node01 gridengine]#
ssh node01 "rm -rf /etc/yum.repos.d/*"
[root@mgt ~]# scp -r /etc/yum.repos.d/dvd.* node01:/etc/yum.repos.d/
[root@mgt ~]# scp -r sge/*.rpm node01:/root
[root@node01 ~]# yum localinstall *.rpm
node01# yum -y install ant junit openssl-devel ncurses-devel pam-devel libXmu-devel hwloc java-devel javacc ant-junit csh ksh xterm perl-XML-Simple xorg-x11-fonts-ISO8859-1-100dpi xorg-x11-fonts-ISO8859-1-75dpi hwloc-devel javacc db4-utils
node01# yum localinstall jemalloc-*
[root@node01 ~]# /etc/init.d/sgeexecd.p6444 start && chkconfig sgeexecd.p6444 on
Starting Grid Engine execution daemon
[root@node01 ~]#
[root@node01 ~]# qhost
HOSTNAME ARCH NCPU NSOC NCOR NTHR LOAD MEMTOT MEMUSE SWAPTO SWAPUS
----------------------------------------------------------------------------------------------
global - - - - - - - - - -
mgt lx-amd64 1 1 1 1 0.10 976.5M 333.9M 2.0G 4.2M
node01 lx-amd64 1 1 1 1 0.25 2.8G 232.7M 2.0G 0.0
[root@node01 ~]#
===================================================================================================================
配置队列
在执行安装master主机上,初始安装后是将执行主机添加到了默认的 “all.q” 队列中。在队列中的hostlist的那一行显示的执行主机名称是 “@allhosts”,这是一个主机组。需要用qconf命令编辑主机组。
[root@hostname gridengine]# qconf –sql 显示已经配置队列名称
all.q
[root@hostname gridengine]# qconf -mhgrp @allhosts
安装的时候使用默认的配置,主机组命名也是默认的。如果要使用这个名称,就必须编辑它,将主机名称加入主机组名称“@allhosts”。
[root@hostname gridengine]# qstat -f -u '*'
执行主机启动,主机列表中没有相应执行主机名称,执行qstat命令就不会看到有任何输出。
[root@hostname gridengine]# qstat -f
queuename qtype resv/used/tot. load_avg arch states
-------------------------------------------------------------------------------------------------------------------
all.q@hostname BIP 0/0/1 0.00 lx26-amd64
到此初步配置完成:
集群控制主机、执行主机、队列、主机组
用到的命令:
qconf 配置命令
qhost 主机状态等信息
qstat 队列状态、job状态
gridengine server 常规配置过程
队列配置:
qconf –aq all.q 新增加一个队列
qconf –mq all.q 配置(修改)一个队列
qconf –dq all.q 删除一个队列
qconf –sql 显示已存在的队列
主机组配置:
qconf –ahgrp @allhosts新增加一个主机组
qconf –mhgrp @allhosts配置(修改)一个主机组
qconf –dhgrp @allhosts删除一个主机组
qconf –shgrpl 显示已存在的主机组
用户组配置:
qconf –au opusers新增加一个用户组
qconf –mu opusers配置(修改)一个用户组
qconf –du opusers删除一个用户组
qconf –sul 显示已存在的用户组
添加提交主机:
qconf -as mgt
[root@mgt ~]# echo "sleep 60" |qsub
Unable to run job: denied: host "mgt" is not a submit host
Exiting.
[root@mgt ~]
[root@mgt ~]# echo "sleep 60" |qsub
Unable to run job: job rejected: your user id 0 is lower than minimum user id 100 of cluster configuration
Exiting.
[root@mgt ~]#
## for GPU
qconf -mc
#name shortcut type relop requestable consumable default urgency
#----------------------------------------------------------------------------------------------
gpu gpu INT <= YES YES 0 0
qconf -me node02
hostname node01
load_scaling NONE
complex_values gpu=1
user_lists NONE
xuser_lists NONE
projects NONE
xprojects NONE
usage_scaling NONE
report_variables NONE
qsub -l gpu=1
[t01@mgt ~]$ echo "sleep 60" |qsub -l gpu=1
qsub: submit error (Unknown resource type Resource_List.gpu)