ubuntu 16.04 安装SGE(Sun Grid Engine)

  • 安装环境
    • ubuntu 16.04
  • 安装步骤
    • 第一轮 主要安装NFS
      • master host - 1
      • node host - 1
    • 第二轮 安装gridengine
      • master node - 2
      • client node - 2
    • 第三轮 配置
      • master node - 3
      • client node - 3
  • 测试

安装环境

ubuntu 16.04

安装步骤

注意:master host的步骤和node host的步骤需要交叉进行,所以我的总结是按照交叉进行的步骤进行,有些步骤的交叉前后可以有不同的位置,熟悉后可灵活安装

第一轮 主要安装NFS

master host - 1

  1. 查看更新:apt-get update
  2. 增加新用户:adduser gsadmin --uid 500
  3. 下载Grid Engine包
    wget http://downloads.sourceforge.net/project/gridscheduler/GE2011.11p1/GE2011.11p1.tar.gz
    解压:tar -zxvf GE2011.11p1.tar.gz
    拷备/移动到新建用户的目录下(该目录就是共享目录):mv GE2011.11p1 /home/gsadmin/
    修改共享目录的权限:chown -R gsadmin:gsadmin /home/gsadmin/(假如想用root权限,可以把gsadmin用户加入root组)
  4. 安装NFS服务端(Network File System)
    安装NFS server包:apt-get install nfs-kernel-server
    配置默认exports文件:echo "/home/gsadmin *(rw,sync,no_subtree_check,no_root_squash)" >> /etc/exports (其中/home/gsadmin就是共享目录,注意: no_root_squash不写的话,后面可能会出现node host无法写入的权限问题
    使exports文件生效:exportfs -a
    重启NFS:service nfs-kernel-server restart (后期修改任何东西,可以重启NFS进行生效)
  5. 安装OpenJDK-8
    安装:apt-get install openjdk-8-jdk
    设置JDK(如果修改共享目录,需要修改SGE_ROOT):

    echo "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/" >> ~/.bashrc
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
    echo "export PATH=$PATH:/usr/lib/jvm/java-8-openjdk-amd64/bin" >> ~/.bashrc
    export PATH=$PATH:/usr/lib/jvm/java-8-openjdk-amd64/bin
    echo "export SGE_ROOT=/home/gsadmin/GE2011.11p1" >>~/.bashrc
    export SGE_ROOT=/home/gsadmin/GE2011.11p1/
    source ~/.bashrc
    

node host - 1

  1. 增加用户:adduser gsadmin --uid 500
  2. 安装NFS客户端apt-get install nfs-common
  3. 创建本地挂载目录:mount共享目录mount 172.16.5.171:/home/gsadmin /home/gsadmin/
    注意: 挂载前确认client有即将挂载的目录,如果没有,先mkdir创建目录
    可能出现的error

    • mount.nfs: Stale file handle:先umount,然后再mount
    • home/gsadmin does not exist:client上无该目录,要mkdir;其次在mount的末尾别忘记 ‘/’ 符号,否则可能会出现 /home/gsadmin is busy or already mounted 错误
    • mount: can’t find 172.16.5.171:/home/gsadmin/ in /etc/fstab :在/etc/fstab里写入我们要挂载的目录(如下文所述),再挂载即可
  4. 配置
    echo "172.16.5.171:/home/gsadmin /home/gsadmin nfs" >> /etc/fstab
    

第二轮 安装gridengine

master node - 2

  1. 安装master:apt-get install gridengine-master
    【cellname选择default,mastername是master主机的名字,其余的都是默认的】(如果安装错误,可以使用apt-get --purge remove进行卸载,再重新安装)
  2. 安装client(master也可以作为一个client,如果不想用master主机也作为client的话,就不需要安装client):apt-get install gridengine-client
  3. 修改/etc/hosts(注释掉前面127.0.0.1 127.0.1.1在的两行 ,给文后增加)
    172.16.5.171 gpu-server-6
    172.16.5.172 gpu-Super-Server5
    172.16.5.173 gpu4-S2600IP.raisound.com gpu4-S2600IP
    ## 171是master,172以及173是client, 其中173有两个名字,以此类推
    
  4. 重启gridengine生效:service gridengine-master restart(后面如果修改hosts也要重启生效)
  5. 检查安装是否成功:qhost
    可能出现的error

    • hostname找不到:检查/var/lib/gridengine/default/common/act_qmaster中的名字,与/etc/hosts保持一致
    • error:cell directory “/home/gsadmin/GE2011.11.pl//default doesn’t exist” :用软连接:ln -s /var/lib/gridengine/default /home/gsadmin/GE2011.11.pl/default 链接过来即可

client node - 2

  1. 安装client:apt-get install gridengine-client (master name必须要上面安装master node时候设置一样,其余默认。如果master name要修改,编辑:/var/lib/gridengine/default/common/act_qmaster)
  2. 安装exec:apt-get install gridengine-exec
  3. 重启gridengine生效:/etc/init.d/gridengine-exec restart

第三轮 配置

master node - 3

  1. 客户端的节点需要先在master节点上进行该操作,即将node节点加入admin的list中:
    qconf -ah gpu4-S2600IP.raisound.com
    qconf -ah gpu-Super-Server5
    将gpu4-S2600IP.raisound.com以及gpu-Super-Server5加入master中
  2. 把用户 gsadmin 加到组 gsadmin 里面:qconf -au gsadmin gsadmin (如果用root,也可以把gsadmin加入root当中:qconf -au gsadmin root ,但是不建议这么做)
  3. 把所有节点加入到提交主机里:
    qconf -as gpu-server-6
    qconf -as gpu-Super-Server5
    qconf -as gpu4-S2600IP.raisound.com
  4. 默认执行:qconf -ahgrp @allhosts
  5. 将 main.q 加入集群(cluster)队列中:qconf -aq main.q 即main.q为集群队列,也可以叫别的名字,比如all.q
  6. 修改main.q,用命令打开,在编辑器里直接修改:qconf -mq main.q ,主要修改以下几项
    qname                 main.q
    hostlist              gpu-Super-Server5 gpu-server-6 gpu4-S2600IP.raisound.com
    pe_list               make smp
    rerun                 TRUE
    slots                 10,[gpu-server-6=30],[gpu-Super-Server5=30], [gpu4-S2600IP.raisound.com=30]
    shell                 /bin/bash
    prolog                /var/lib/gridengine/default/common/prolog.sh
    

    部分说明:hostlist是各个node的名字;slots是分配给每个node的cpu个数,不指明node name的话,默认为第一个数字
    注意:修改这几项之后还需要修改以下:

    • 增加并行环境smp:qconf -ap smp,修改slots为9999
    • 建立prolog.sh文件:/var/lib/gridengine/default/common/prolog.sh,并且按照kaldi官网进行编辑(master以及client都需要,而且要赋予可执行权限)
    • prolog.sh文件如下:
    #!/bin/bashfunction test_ok {if [ ! -z "$JOB_SCRIPT" ] && [ "$JOB_SCRIPT" != QLOGIN ] && [ "$JOB_SCRIPT" !=QRLOGIN ]; thenif [ ! -f "$JOB_SCRIPT" ]; thenecho "$0: warning: no such file $JOB_SCRIPT, will wait" 1>&2return 1;fifiif [ ! -z "$SGE_STDERR_PATH" ]; thenif [ ! -d "`dirname $SGE_STDERR_PATH`" ]; thenecho "$0: warning: no such directory $JOB_SCRIPT, will wait." 1>&2return 1;fifireturn 0;
    }if ! test_ok; thensleep 2;if ! test_ok; thensleep 4;if ! test_ok; thensleep 8;fifi
    fiexit 0;
    
    • 修改资源配置:qconf -mc 打开之后再文后增加两行:
     gpu                 g           INT         <=    YES         YES        0        10000ram_free            ram_free    MEMORY      <=    YES         JOB        1G       0
    

    每个node的GPU以及内存资源配置:qconf -me <some-hostname> 打开不同的node进行编辑设置。比如分配112G内存,3个GPU:修改complex_values ram_free=112G,gpu=3 即可完成

  7. 重启生效(此master同时配置了node,即master既是主节点,也是执行节点,所以这里的重启既包括master的重启,也包括exec的重启):
    service gridengine-master restart
    /etc/init.d/gridengine-exec restart
    

client node - 3

  1. 修改/etc/hosts与master一致
  2. 重启生效:/etc/init.d/gridengine-exec restart
  3. 检查:qhost ,成功后显示:
  4. 当用qstat -f查看,发现节点后面有E的标志,代表此节点error state;如果是a标志,代表alarm;如果是u代表unreachable。更多细节见kaldi官网。有时候将节点先disableqmod -d main.q@node_hostname,再enable是可以解决的:qmod -e main.q@node_hostname[假如出问题的节点是node_hostname]
  5. 提示:如果出现错误,返回去查看master node - 3配置部分,每一步配置都可能出错

测试

调用kaldi程序测试:按照kaldi官网配置conf/queue.conf即可直接使用queue.pl进行集群处理

总结
理解不到位,反复踩坑,多重复几次,理解每个步骤以及每个配置的含义,就简单多了。

参考链接:
http://kaldi-asr.org/doc/queue.html
https://blog.csdn.net/xiyang_1990/article/details/78284093
https://blog.csdn.net/xljiulong/article/details/51908864
https://linoxide.com/ubuntu-how-to/setup-open-grid-engine-cluster-ubuntu/https://blog.csdn.net/cfqcfqcfqcfqcfq/article/details/70739531https://peteris.rocks/blog/sun-grid-engine-installation-on-ubuntu-server/
https://blog.csdn.net/dongfang1984/article/details/53173945
https://blog.csdn.net/dongfang1984/article/details/53173945

ubuntu 16.04 安装SGE(Sun Grid Engine)相关推荐

  1. Ubuntu 16.04 安装记录Install - Recording

    Ubuntu 16.04 安装记录 换源 # 先对原来的sources.list进行备份 # https://www.linuxidc.com/Linux/2017-01/139458.htm sud ...

  2. Ubuntu 16.04 安装后修改屏幕分辨率(xrandr: Failed to get size of gamma for output default)

    ubuntu 16.04 安装后分辨率只有一个选项 1024x768,使用 xrandr 命令出现错误: xrandr: Failed to get size of gamma for output ...

  3. 16.04linux 安装微信,Ubuntu 16.04安装微信的过程记录

    微信没有出Linux的版本,但是可以通过以下方式解决: 1.使用网页版,除了没有公众号之后,一切都没问题,包括传文件等. 2.使用第三方版本,只不过这个是桌面应用,原理是通过网页API集成的,稳定性还 ...

  4. Ubuntu 16.04 安装 Wireshark分析tcpdump的pcap包——sudo apt install wireshark-qt

    tcpdump 的抓包保存到文件的命令参数是-w xxx.cap 抓eth1的包  tcpdump -i eth1 -w /tmp/xxx.cap  抓 192.168.1.123的包  tcpdum ...

  5. Ubuntu 16.04 安装 caffe

    Ubuntu16.04安装Caffe最全最详细教程(CPU) 由于本人电脑不支持GPU,故选择CPU安装caffe.具体查看方式:键入命令: lspci | grep -i nvidia ,若按回车之 ...

  6. linux打开vivado_ubuntu启动vivado UBUNTU 16.04安装VIVADO成功启动SDK - Linux - 服务器之家...

    ubuntu启动vivado UBUNTU 16.04安装VIVADO&&成功启动SDK 发布时间:2017-04-25 来源:服务器之家 在UNBUNTU 16.04 64位 系统下 ...

  7. Ubuntu 16.04安装Tomcat 8 图解

    Ubuntu 16.04安装Tomcat 8 图解 Linux公社 10-18 00:00 Tomcat是由Apache开发的一款免费且开源的轻量级Web应用服务器,Tomcat8服务器在中小企业中得 ...

  8. linux安装tensorflow教程,Ubuntu 16.04 安装 TensorFlow(GPU支持)

    本文记录Ubuntu 16.04安装Tensorflow步骤,也包括怎么从源码编译安装Tensorflow. 要想安装Tensorflow GPU版本,你需要有一个新一点的Nvidia显卡. Tens ...

  9. Ubuntu 16.04安装Cobbler 2.9

    Ubuntu 16.04安装Cobbler 2.9: 注: 1.Cobbler 2.9新增uefi支持 2.Cobbler 2.9依赖syslinux 6.x版本支持 apt-get install ...

最新文章

  1. 从头开始学习Unity着色器
  2. Web 开发人员必备的随机 JSON 数据生成工具
  3. R语言ggplot2可视化:使用dplyr包计算每个分组个数的比例(对计算获得的百分比进行近似,值保留整数部分)、使用ggplot2可视化条形图(bar plot)、并在条形图上添加百分比标签
  4. 【Linux shell】sed实践(2)
  5. emv中的 部分匹配_【干货】EMV指标的精准运用
  6. [bzoj3489]A simple rmq problem
  7. XSS学习-XSS挑战之旅(二)
  8. 如何把HTML转换成动图,html5实现图片转圈的动画效果——让页面动起来
  9. can总线报文是固定的吗_CAN总线负载率的计算方式
  10. matlab关于向量的基本操作
  11. “21天好习惯”第一期-8
  12. 运筹学 知识点总结 (十一)
  13. 人人网主页登录_人人网回归了!历史记录全保留!前男(女)友们的黑历史就要被重新翻开了...
  14. 虚拟机您的计算机无法启动,一键解决win10虚拟机无法启动的问题
  15. win10文件服务器ssd当缓存盘,Win10怎么启用设备上的写入缓存|提高固态硬盘性能方法...
  16. C# linq left join
  17. 支付宝信用卡还款即将收费,3个方法免手续费!
  18. 机器学习中baseline,benchmark,backbone的学习记录
  19. 日志分析---携来百侣曾游,忆往昔峥嵘岁月稠
  20. JavaScript 空间分析库——JSTS和Turf

热门文章

  1. 标准c(c89,c99)原来不支持缺省参数
  2. Java SSM项目运用策略模式思想
  3. Three.js常见光源类型
  4. vscode+django 搭建自己的个人网站(一) ——环境搭建与配置
  5. mysql多级评论表_多级评论的实现思路
  6. 统计学中I和II类错误
  7. 干货丨致研究者:2018 AI 研究趋势
  8. 基于docker的storm集群搭建
  9. qeephp 记录下
  10. 如何通过苹果公司免费申请企业邓白氏编码