最近給實驗室的服務器集羣安裝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