最近给实验室的服务器集群安装SGE,摸索了一天多,踩了好些坑,如今将其安装和配置过程记录下来,以避免之后须要使用时又忘记了。java
1、准备工做node
一、关闭集群中全部节点的防火墙linux
#service iptables stop #chkconfig iptables off
(centos7中命令稍有不一样)bootstrap
二、关闭全部节点中的selinuxcentos
#vi /etc/selinux/config 设置 SELINUX=disabled
三、设置节点的机器名服务器
假设共有三个节点master、node一、node2,分别在三个节点上进行设置dom
# vi /etc/sysconfig/network 设置 HOSTNAME=节点计算机名称
四、设置hostsasync
在三个节点上均进行修改ide
#vi /etc/hosts 192.168.1.120 master.local master 192.168.1.130 node1.local node1 192.168.1.140 node2.local node2 第一列为各节点的IP,第二列是设置的节点的域名,第三列为节点机器名。看有些博主的博文,第二列没有,有一些二三列的顺序不一样,本人没有测试过结果是否有影响。
2、NIS安装和配置测试
NIS是一种用户管理服务,能够在主控节点上进行用户和密码管理,其余的节点有用户登陆的需求时,才到这台服务器上请求相关的账号密码等使用者资料,而不须要在全部节点上都设置相同的用户和密码,极大方便了用户的管理。在使用SGE进行任务管理时,用户的任务可能会分配到其余节点运行,该节点若是不能识别该用户,任务就没法运行,因此必须使用NIS
master节点安装与配置
一、master安装必须软件
#yum install -y rpcbind yp-tools ypserv
二、master节点设置NIS域名
#nisdomainname life.com #vi /etc/rc.local 添加 nisdomainname life.com # vi /etc/sysconfig/network 添加 NISDOMAIN=life.com
三、master节点文件配置
#vi /etc/sysconfig/network 添加 YPSERV_ARGS="-p 1011" #vi /etc/sysconfig/yppasswdd 添加 YPPASSWDD_ARGS="--port 1012" #vi /etc/ypserv.conf 替换为: dns: no files: 30 xfr_check_port: yes * : * : shadow.byname : port * : * : passwd.adjunct.byname : port
四、master节点启动服务并设置开机启动
#service rpcbind start #service ypserv start #service yppasswdd start #chkconfig rpcbind on #chkconfig ypserv on #chkconfig yppasswdd on
五、master节点建立库
#/usr/lib64/yp/ypinit -m
六、master更新NIS帐户和资料库
#make -C /var/yp
其他节点安装与配置
一、软件安装和NIS域名设置,与master节点的安装的步骤1和2彻底相同
二、文件配置
#cat /etc/nsswitch.conf 设置: passwd: files nis shadow: files nis group: files nis hosts: files nis dns #cat /etc/sysconfig/authconfig 设置 USENIS=yes #cat /etc/pam.d/system-auth 设置 password sufficient pam_unix.so sha512 shadow nis nullok try_first_pass use_authtok #cat /etc/yp.conf 设置 domain life.com(这里为NIS域名) server 192.168.1.120(master节点的IP)
三、启动NIS并设置开机启动
#service rpcbind start #service ypbind start #chkconfig rpcbind on #chkconfig ypbind on
四、测试与master节点可否正常通信
#yptest
五、回到master节点进行NIS帐户同步
#/usr/lib64/yp/ypinit -m #make -C /var/yp #make -C /var/yp passwd
3、NFS安装
NSF是一种文件共享服务,安装NFS是为了方便SGE在不一样节点的安装,有了NFS后就不须要在每个节点都下载一个SGE
NFS服务端
一、安装软件
#yum -y install nfs-utils
二、启动NFS服务并设置开机启动
#service nfs start #chkconfig nfs on
三、文件配置,设置共享目录
#vi /etc/exports /SGE 192.168.1.120/24(insecure,rw,root_squash,async)
四、重启rpcbind和NFS
#service rpcbind restart #service nfs restart
NFS客户端
一、安装软件,启动服务并设置开机启动,与上述的服务端安装步骤1和2彻底相同
二、新建目录 /SGE(最好与服务端的目录彻底相同,更加方便)、进行挂载
#mkdir /SGE #mount -t nfs 192.168.1.160:/SGE /SGE
若是挂载时出现该目录忙的错误信息,说明你进入了该目录,须要退出去才能挂载
三、查看是否挂载成功
#mount |grep /SGE
四、设置开机自动挂载
#vi /etc/fstab 添加 192.168.1.160:/SGE /SGE nfs defaults 0 0
4、SGE安装和配置
master节点配置
一、安装必须的软件
#yum -y install epel-release 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
二、下载SGE并解压
#wget http://arc.liv.ac.uk/downloads/SGE/releases/8.1.9/sge-8.1.9.tar.gz #tar zxvf sge-8.1.9.tar.gz
三、安装SGE
#cd sge-8.1.9/source/ #sh scripts/bootstrap.sh && ./aimk && ./aimk -man #export SGE_ROOT=/SGE/gridengine && mkdir $SGE_ROOT #./scripts/distinst -local -allall -libs -noexit
四、建立sgeadmin用户和组,并设置权限
#groupadd -g 490 sgeadmin #useradd -u 495 -g 490 -r -m -c "SGE Admin" sgeadmin
#chown -R sgeadmin.sgeadmin /BiO/gridengine
五、配置sge_qmaster
#cd $SGE_ROOT #./install_qmaster
以后一直回车便可
#cp /SGE/gridengine/default/common/settings.sh /etc/profile.d/
#source /etc/profile.d/settings.sh
六、开启任务调度信息收集
#vi /SGE/gridengine/default/common/sched_configuration
设置:
schedd_job_info true
七、启动SGE管理
#/etc/init.d/sgemaster.xxx restart
xxx为安装过程当中设置的名称
八、将master节点加入到运行节点中
#cd $SGE_ROOT #./install_execd
一直回车便可
#/etc/init.d/sgeexecd.xxx start
九、添加node1和node2节点
#qconf -ah node1 #qconf -ah node2
运行节点配置,以node1为例
一、建立sgeadmin用户和组
#groupadd -g 490 sgeadmin #useradd -u 495 -g 490 -r -m -c "SGE Admin" sgeadmin
二、配置
#export SGE_ROOT=/SGE/gridengine #cd $SGE_ROOT #./install_execd
一直回车便可
#cp /SGE/gridengine/default/common/settings.sh /etc/profile.d/
#source /etc/profile.d/settings.sh
三、开启运行节点
# /etc/init.d/sgeexecd.xxx start
问题:(1)若是配置sge管理节点时报PID错误,说明你屡次配置了sge管理节点,进程被占用了,须要将该进程先结束掉,再进行管理节点的配置
(2)配置运行节点时遇到sge_shepherd won’t run – dynamic library missing?的状况。
#cd gridengine/bin/lx-amd64 #./sge_shepherd 此时会提示具体的问题,本人遇到问题的是缺乏libhwloc.o.5库,安装便可,安装彻底后再进行运行节点配置 #yum install hwloc #cd $SGE_ROOT #./install_execd