SGE 部署(二)SGE安装

713 阅读1分钟

主控节点安装(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这一步时注意: image.png

每次输入一个服务器的host,包括主控节点和计算节点,每输完一个,然后按Enter键,又回到这个界面,输入下一个服务器的host:

image.png 继续添加其他主机,所有的服务器的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