主控节点安装(master)
/etc/hosts #完成主机名映射
10.0.0.11 qmaster.local qmaster
10.0.0.12 compute01.local compute01
安装epel源
yum -y install epel-release
安装依赖库
yum -y install jemalloc-devel openssl-devel ncurses-devel pam-devel libXmu-devel hwloc-devel hwloc hwloc-libs java-devel javacc ant-junit libdb-devel motif-devel csh ksh xterm db4-utils perl-XML-Simple perl-Env xorg-x11-fonts-ISO8859-1-100dpi xorg-x11-fonts-ISO8859-1-75dpi gcc
sgeaddmin
groupadd -g 490 sgeadmin
useradd -u 495 -g 490 -m -d /home/sgeadmin -s /bin/bash -c "SGE Admin" sgeadmin
编译SGE
wget https://arc.liv.ac.uk/downloads/SGE/releases/8.1.9/sge-8.1.9.tar.gz
tar -zxvf sge-8.1.9.tar.gz
cd sge-8.1.9/source/
sh scripts/bootstrap.sh && ./aimk && ./aimk -man
echo Y | ./scripts/distinst -local -allall -libs -noexit
chown -R sgeadmin.sgeadmin /opt/sge/
安装SGE qmaster
cd $SGE_ROOT
./install_qmaster
注: 安装过程中大部分保持默认即可,到Adding Grid Engine hosts这一步时注意:
每次输入一个服务器的host,包括主控节点和计算节点,每输完一个,然后按Enter键,又回到这个界面,输入下一个服务器的host:
继续添加其他主机,所有的服务器的host输入完毕后,下次直接按Enter键,即结束host添加。如果服务器较多,一次次的输入很麻烦,我们可以提前将这些服务器的host写入到一个hostlist文件。
注: hostlist文件需要在当前$SGE_ROOT目录下,内容示例:
qmaster.local
compute01.local
compute02.local
之后一致保持默认即可,完成SGE qmaster安装。
配置
1 修改@allhost组,删除原有的NONE,添加所有节点的host
qconf -mhgrp @allhosts
group_name @allhosts
hostlist qmaster.local compute01.lcoal
2 /etc/sge/default/common/sched_configuration #开启任务调度信息收集
修改schedd_job_info 后边为true
3 将master提供计算服务,保持默认选项安装
./install_execd
cp /opt/sge/default/common/settings.sh /etc/profile.d/
cp /opt/sge/default/common/settings.csh /etc/profile.d/
source /etc/profile.d/settings.sh
4 添加投递节点
qconf -as qmaster.local
执行节点安装(compute-01)
/etc/hosts #完成主机名映射
10.0.0.11 qmaster.local qmaster
10.0.0.12 compute01.local compute01
安装依赖库
yum -y install hwloc-devel
sgeadmin
采用NIS,可直接进行同步。
安装计算节点
cd $SGE_ROOT
./install_execd
cp /opt/sge/default/common/settings.sh /etc/profile.d/
cp /opt/sge/default/common/settings.csh /etc/profile.d/
source /etc/profile.d/settings.sh
检查
qhost
测试
在master上新建一个普通用户,投递任务进行测试
useradd -m test01
passwd iforfree
更新NIS数据库
make -C /var/yp
make -C /var/yp passwd
登陆test01用户
测试集群
vi test.csh
#!/bin/bash
#$ -cwd
#$ -S /bin/bash
#$ -l h_vmem=10G
#$ -j y
#$ -V
#$ -q all.q
uname -a >test.txt
qsub test.csh