准备工作
- 操作系统(Centos7.6)
- 能够联网下载所需依赖包。
- 使用root用户进行部署
- 此为单节点部署方法,主机即作为主控节点又作为计算节点
部署过程
- 使用命令修改主机名,这里设置为control
hostnamectl set-hostname control
- 修改 hosts 文件
命令行输入【vi /etc/hosts】回车,注释(行首增加“#”)或者删除文件中“127.0.0.1”和“::1”这两行的内容;
增加内容 ip control;例如 192.168.126.1 control - 安装 epel 源
命令行输入【yum -y install epel-release】
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 xrog-x11-fonts-ISO8859-1-100dpi.noarch xrog-x11-fonts-ISO8859-1-75dpi.noarch
- 添加sgeadmin 用户和组
groupadd -g 490 sgeadmin
useradd -u 495 -g 490 -m -d /home/sgeadmin -s /bin/bash -c "SGE Admin" sgeadmin
- 添加sudo权限
命令行输入【 visudo】回车,并在打开的文件最后新增一行添加以下内容:
【 %sgeadmin ALL=(ALL) NOPASSWD: ALL】 - 创建 SGE 安装路径,并下载安装包
mkdir -p /sge/src
cd /sge/src
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 #如果报错可以尝试./aimk --no-java
- 添加 SGE_ROOT 路径,命令行输入【 export SGE_ROOT=/sge/gridengine && mkdir $SGE_ROOT】
- 开始编译,命令行输入【 echo Y | ./scripts/distinst -local -allall -libs -noexit】
echo Y | ./scripts/distinst -local -allall -libs -noexit
- 修改文件属组和权限,命令行输入【 chown -R sgeadmin.sgeadmin /sge/gridengine】
chown -R sgeadmin.sgeadmin /sge/gridengine
- qmaster安装,切换工作目录,命令行输入【cd $SGE_ROOT】执行qmaster 的安装,命令行输入【./install_qmaster】
a. 安装过程中,提示一些配置项,全部保持默认,回车接受;在执行到” Grid Engine qmaster startup“中会自行启启动 qmaster 的 service,如提示失败,可以重启机器,并切换 root 用户后重新从步骤 a 开始。
b. 在"Adding Grid Engine hosts"界面中,默认为“n”,回车确认,需要输入对应的 hostname,回车进入下一个节点的 hostname 输入,如果没有, 2次回车确定后,完成配置。
c. 后续配置页面,保持默认参数,回车接受 - 完成配置后,需执行如下命令,命令行输入【cp /sge/gridengine/default/common/settings.sh /etc/profile.d/】
- 切换工作目录,命令行输入【cd $SGE_ROOT】,执行安装,命令行输入【./install_execd】,过程中所有的提示,保持默认参数,回车接受。
- 资源设置配置
a. num_proc 修改,命令行输入【qconf -mc】,方向键移动光标之 num_proc行,按” i“修改内容 【num_procp INT <= YES YES 0】; ESC 键推出编辑,按“:”并输入 wq 回车退出保存
b. virtual_free 修改,命令行输入【qconf -mc】,方向键移动光标之 num_proc 行,按” i“修改内容 【virtual_free vf MEMORY <= YES YES 0 0】;ESC 键推出编辑,按“:”并输入wq回车退出保存。
c. 节点资源修改,命令行输入【qconf -me control】, 表示修改control 节点的资源,回车打开文件中,按“i” 修改 complex_values 内容【complex_values num_proc=40,virtual_free=750G】; ESC键退出编辑,按“:”并输入wq回车退出保存
- 测试
- 集群主机列表,命令行输入【qhost】
- 投递测试脚本,命令行输入【qsub /sge/gridengine/examples/jobs/simple.sh】,在执行账号的 home 目录下,能看到 simple 开头的 2 分文件, o 便是 output, e 表示 error。