Centos6安裝SGE以及集群配置


最近給實驗室的服務器集群安裝SGE,摸索了一天多,踩了好些坑,現在將其安裝和配置過程記錄下來,以免以后需要使用時又忘記了。

一、准備工作

  1、關閉集群中所有節點的防火牆

    #service iptables stop
    #chkconfig iptables off

    (centos7中命令稍有不同)

  2、關閉所有節點中的selinux

        #vi /etc/selinux/config

        設置 SELINUX=disabled

  3、設置節點的機器名

      假設共有三個節點master、node1、node2,分別在三個節點上進行設置

        # vi  /etc/sysconfig/network
         
        設置 HOSTNAME=節點計算機名稱

  4、設置hosts

      在三個節點上均進行修改

        #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,第二列是設置的節點的域名,第三列為節點機器名。看有些博主的博文,第二列沒有,有一些二三列的順序不同,本人沒有測試過結果是否有影響。

二、NIS安裝和配置

  NIS是一種用戶管理服務,可以在主控節點上進行用戶和密碼管理,其他的節點有用戶登錄的需求時,才到這台服務器上請求相關的帳號密碼等使用者資料,而不需要在所有節點上都設置相同的用戶和密碼,極大方便了用戶的管理。在使用SGE進行任務管理時,用戶的任務可能會分配到其他節點運行,該節點如果不能識別該用戶,任務就無法運行,所以必須使用NIS

  master節點安裝與配置

  1、master安裝必須軟件

        #yum install -y rpcbind yp-tools ypserv

  2、master節點設置NIS域名

        #nisdomainname life.com
        #vi  /etc/rc.local
            
            添加 nisdomainname life.com

        # vi  /etc/sysconfig/network          
              
            添加 NISDOMAIN=life.com 

  3、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

  4、master節點啟動服務並設置開機啟動

  

        #service rpcbind start
        #service ypserv start                     
        #service yppasswdd start        
        #chkconfig rpcbind on
        #chkconfig ypserv on
        #chkconfig yppasswdd on

  5、master節點創建庫

    #/usr/lib64/yp/ypinit -m

  6、master更新NIS賬戶和資料庫

    #make -C /var/yp

  其余節點安裝與配置

  1、軟件安裝和NIS域名設置,與master節點的安裝的步驟1和2完全相同

  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)        

  3、啟動NIS並設置開機啟動

        #service rpcbind start
        #service ypbind start         
        #chkconfig rpcbind on
        #chkconfig ypbind on

  4、測試與master節點能否正常通訊

        #yptest

  5、回到master節點進行NIS賬戶同步

        #/usr/lib64/yp/ypinit -m
        #make -C /var/yp
        #make -C /var/yp passwd

 

三、NFS安裝

  NSF是一種文件共享服務,安裝NFS是為了方便SGE在不同節點的安裝,有了NFS后就不需要在每一個節點都下載一個SGE

  NFS服務端

  1、安裝軟件

    #yum -y install nfs-utils

  2、啟動NFS服務並設置開機啟動

       #service nfs start
       #chkconfig nfs on

  3、文件配置,設置共享目錄

        #vi /etc/exports
        /SGE    192.168.1.120/24(insecure,rw,root_squash,async)

  4、重啟rpcbind和NFS

        #service rpcbind restart 
        #service nfs restart

  NFS客戶端

  1、安裝軟件,啟動服務並設置開機啟動,與上述的服務端安裝步驟1和2完全相同

  2、新建目錄 /SGE(最好與服務端的目錄完全相同,更加方便)、進行掛載

    #mkdir /SGE
    #mount -t nfs 192.168.1.160:/SGE     /SGE
    
    如果掛載時出現該目錄忙的錯誤信息,說明你進入了該目錄,需要退出去才能掛載

  3、查看是否掛載成功

    #mount |grep /SGE

  4、設置開機自動掛載

    #vi /etc/fstab
      添加
    192.168.1.160:/SGE     /SGE            nfs    defaults     0 0

 

四、SGE安裝和配置

  master節點配置

  1、安裝必須的軟件

    #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

  2、下載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

  3、安裝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

  4、創建sgeadmin用戶和組,並設置權限

  #groupadd -g 490 sgeadmin
  #useradd -u 495 -g 490 -r -m -c "SGE Admin" sgeadmin
  #chown -R sgeadmin.sgeadmin /BiO/gridengine

  5、配置sge_qmaster

  #cd $SGE_ROOT
  #./install_qmaster
  之后一直回車即可
  #cp /SGE/gridengine/default/common/settings.sh /etc/profile.d/
  #source /etc/profile.d/settings.sh

  6、開啟任務調度信息收集

  #vi /SGE/gridengine/default/common/sched_configuration
    設置:
    schedd_job_info true

  7、啟動SGE管理

  #/etc/init.d/sgemaster.xxx restart
  xxx為安裝過程中設置的名稱

  8、將master節點加入到運行節點中

  #cd $SGE_ROOT
  #./install_execd
  一直回車即可
  #/etc/init.d/sgeexecd.xxx start

  9、添加node1和node2節點

  #qconf -ah node1
  #qconf -ah node2

  運行節點配置,以node1為例

  1、創建sgeadmin用戶和組

  #groupadd -g 490 sgeadmin
  #useradd -u 495 -g 490 -r -m -c "SGE Admin" sgeadmin

  2、配置

  #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

  3、開啟運行節點

  # /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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM