安装SGE的主要步骤。

做过视频编码的同事在做codec测试的时候都应该有过对PC机性能差的抱怨。其实即使PC测试机的性能非常的好,比如双核 3G CPU 2G内存应该还是无法满足codec的测试的。因为codec测试运算量太大了。
【安装SGE的主要步骤。】所以如何采用多台电脑同时来完成这么巨大的运算量呢,大家也许会说采用云计算。充分利用所有闲置电脑协同合作正式SGE实现的功能。
SGE的主机类型有:主控主机,管理主机,提交主机,执行主机。每台主机允许兼有多种功能。操作最多的就是主控主机了。 下面看看主控主机的运行情况:
[root@sge-qmaster ~]# qstat -f
queuenameqtype resv/used/tot. load_avg archstates
---------------------------------------------------------------------------------
all.q@BreaBIP0/1/10.01lx24-x86
1232 0.55500 Wels_SVC_e rootr02/05/2010 13:48:211
---------------------------------------------------------------------------------
all.q@CarlBIP0/0/1-NA-lx24-x86au
---------------------------------------------------------------------------------
all.q@DenaBIP0/1/20.12lx24-x86
1230 0.55500 Wels_SVC_e rootr02/05/2010 13:48:211
---------------------------------------------------------------------------------
all.q@EddyBIP0/1/20.16lx24-x86
1231 0.55500 Wels_SVC_e rootr02/05/2010 13:48:211
---------------------------------------------------------------------------------
all.q@FemiBIP0/1/10.31lx24-x86
1234 0.55500 Wels_SVC_e rootr02/05/2010 13:48:211
---------------------------------------------------------------------------------
all.q@GaryBIP0/0/20.00lx24-x86
---------------------------------------------------------------------------------
all.q@HighBIP0/1/20.12lx24-x86
1235 0.55500 Wels_SVC_e rootr02/05/2010 13:48:211

从 上面可以看到有5台执行主机在同时完成一个任务。 r 表示running,正在运行。

下面我简单介绍下如何安装SGE. 过程还是有点复杂的。
1. 获取SGE最新安装包。 http://www.sun.com/software/sge/
一般下载两个 包就可以了 sge-6_2u2_1-bin-linux24-i586.tar.gzsge-6_2u2-common.tar.gz
找 一台PC机作为管理主机。 建立/opt/sge62u2_1/ 目录, 把上面两个包移动到该目录上,最好采用二进制方式移动。 解压这两个包, tar -xzvf*.tar.gz解压后生成两个安装文件: install_qmaster , install_execd。
2. 在主控主机上添加一个sgeadmin用户, 注意所有的userID需要相同。useradd sgeadmin -g root -u 501 .
3. 在/etc/hosts 文件中添加如下内容:
[root@sge-qmaster ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1localhost.localdomainlocalhost
127.0.0.1localhost0.localdomainlocalhost0
10.224.174.11sge-qmaster.webex.comsge-qmaster
10.224.174.13Carl
10.224.174.12Brea
10.224.174.14Dena
10.224.174.15Eddy
10.224.174.16Femi
10.224.174.17Gary
10.224.174.18High
注意每台执行主机的/etc /hosts内容应该相同。
4. 主机名改成sge-qmaster, 其他的执行主机名分别改为 Carl, Brea, Dena, Eddy, Femi, Gary, High. 当然名字可以取成其他的,但是每台的/etc/hosts内容需要相同。 在/etc/sysconfig/network 中 修改主机名。
[root@sge-qmaster ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
#HOSTNAME=localhost.localdomain
HOSTNAME=sge-qmaster
[root@sge-qmaster ~]#

5. 因为主控主机需要使用qsub提交任务以及分配任务。所有每台主机的rsh,rlogin需要互通。 用来发送消息。 如何配置自己查资料吧。
[root@sge-qmaster ~]# rsh Brea
Last login: Fri Feb5 20:36:30 from 10.224.174.144
[root@Brea ~]#

6. 配置sge的通信端口, 每台主机都需要相同的通信端口。 在/etc/services中配置。
###SGE service
sge_qmaster 10536/tcp
sge_execd 10537/tcp

7. 修改环境变量, 在.bash_profile中添加

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/bin:/opt/sge62u2_1:/opt/sge62u2_1/bin/lx24-x86:/opt/SDK/bin:/opt/SDK
SGE_ROOT=/opt/sge62u2_1; export SGE_ROOT
SGE_CELL=SVC_SGE1; export SGE_CELL
SGE_QMASTER_PORT="10536"; export SGE_QMASTER_PORT
SGE_EXECD_PORT="10537"; export SGE_EXECD_PORT
JAVA_HOME=/opt/SDK; export JAVA_HOME
PATH=$PATH:$SGE_ROOT/bin
export PATH
unset USERNAME
~
8. 运行./install_qmaster 按照提示安装。

过程比较繁琐,安装完成后可以提交下任务试试, qsub *.sge /qsub *.sh 方式提交。 最好提交一个运行时间长点的,要不然一下就执行完了不好查询。 提交任务后用 qstat -f 查看运行情况,如我上面所示的那样有r的就说明已经可以使用的。 其他的自己慢慢研究吧。

    推荐阅读