网格环境配置 三 安装SGE
安装SGE
开始安装SGE。vm1作为sge的master主机。用户账号和系统服务这些信息都通过NIS服务器来统一管理。master主机和执行机通过NFS服务共享$SGE_ROOT。sge_qmaster服务的端口号为6444/tcp,sge_execd的端口号为6445/tcp。没有shadow主机。采用classicspooling。
其中master主机和所有的exec主机共享$SGE_ROOT,这是最容易管理、测试、调试的方法。sge网站上的一篇文章(链接:http://gridengine.sunsource.net/howto/nfsreduce.html)总共给了四种方案,摘录如下:
Configuration | Description | Advantage | Disadvantage |
---|---|---|---|
default | executables, configuration files, spool directories: all shared |
simple to install easy to upgrade easy to debug |
potentially significant NFS traffic |
local spool directories |
executables, configuration files: shared. spool directories: local to each compute host |
simple to install easy to upgrade significant reduction in NFS traffic |
less convenient to debug (must go to individual host to see execd messages file) |
local executable files |
configuration files: shared executables, spool directories: local to each compute host |
near-elimination of NFS traffic (NOTE: consequences especially seen when running massively parallel jobs across many nodes) |
less convenient to install and upgrade (must modify files on every host) less convenient to debug |
local configuration files | executables, configuration files, spool directories: all local to each compute host | elimination of NFS requirement |
less convenient to install and upgrade less convenient to debug less convenient to change some configuration parameters (must modify files on every host) loss of shadow master functionality; partial loss of qacct functionality |
上面第四种,localconfigurationfiles的方式,完全不需要NFS。这篇文章随后介绍了如何用这种“完全不需要NFS”的方式安装SGE,方法如下:
- 在所有机器上把SGE的安装包(一个common包和一个平台相关的包)解压到同名路径下,这个路径就是$SGE_ROOT;
- 在master主机上运行 install_qmaster,完成master主机上的安装;
- 在完成master主机的安装后,在master主机上做好一切配置(所有站点相关的配置文件都在$SGE_ROOT/$SGE_CELL/common目录下);
- 在master主机上把$SGE_ROOT/$SGE_CELL/common目录(在第3步完成以后,这个目录包含完整的配置文件)打包;
- 在每个执行机上,解压第4步创建的archive;
- 在每个执行机上,运行 install_execd完成执行机的安装,安装过程会自动从解压的目录中读取配置文件。
在每台机器上都设置SGE_ROOT=/opt/sge,在vm1上创建sgeadmin用户,修改/etc/services文件,加入下面两行:
sge_qmaster 6444/tcp
sge_execd 6445/tcp
然后,/usr/lib/yp/ypinit-m重新构建NIS数据库。
[root@vm1 sge]# tar zxvf /software/sge-6.1u5-common.tar.gz
[root@vm1 sge]# tar xvf /software/sge-6.1u5-bin-lx24-x86.tar.gz
[root@vm1 sge]# chown -R sgeadmin:sgeadmin $SGE_ROOT
[root@vm1 sge]# util/setfileperm.sh $SGE_ROOT
注:因为安装时出现“不能创建default目录“的错误,所以先把$SGE_ROOT的所有者改为sgeadmin,然后运行util/setfileperm.sh脚本设置文件权限。
[root@vm1 sge]# ./install_qmaster
一路回车就好。
[root@vm1 sge]# . default/common/settings.sh
[root@vm1 sge]# ps ax | grep sge
5016 ? S 0:00 /opt/sge/bin/lx24-x86/sge_qmaster
5044 ? S 0:00 /opt/sge/bin/lx24-x86/sge_schedd
安装执行机:
[root@vm1 sge]# qconf -sh
vm1
[root@vm1 sge]# ./install_execd
一路回车。
[root@vm1 sge]# ps ax | grep sge
5016 ? S 0:00 /opt/sge/bin/lx24-x86/sge_qmaster
5044 ? S 0:00 /opt/sge/bin/lx24-x86/sge_schedd
5444 ? S 0:00 /opt/sge/bin/lx24-x86/sge_execd
在vm2,vm3上安装执行机。
首先导出$SGE_ROOT。修改vm1上的/etc/exports:
/home * (rw,sync)
/opt/sge * (rw,sync)
重启nfs服务:
[root@vm1 sge]# service nfs restart
[root@vm1 sge]# qconf -ah vm2
vm2 added to administrative host list
[root@vm1 sge]# qconf -as vm2
vm2 added to submit host list
在vm2上:
[root@vm2 root]# echo $SGE_ROOT
/opt/sge
[root@vm2 root]# mount -t nfs vm1:/opt/sge /opt/sge
[root@vm2 root]# cd $SGE_ROOT
中途出现错误:
The current hostname is resolved asfollows:
Hostname: vm2
Aliases: localhost.localdomainlocalhost
Host Address(es): 127.0.0.1
It is not supported for a Grid Engineinstallation that the local hostname
contains the hostname "localhost"and/or the IP address "127.0.x.x" of the
loopback interface.
于是,把vm2上的/etc/nsswitch.conf中的hosts:files nis dns改成hosts: nis filesdns,问题解决。
但是安装之后用ps查看并没有在vm2上看到sge_execd进程,在/tmp下找到错误信息:
[root@vm2 sge]# vim /tmp/execd_messages.2684
错误提示是不能创建目录vm2,于是:
[root@vm2 sge]# cd default/spool/
[root@vm2 spool]# ls
qmaster spooldb vm1
[root@vm2 spool]# mkdir vm2
mkdir: cannot create directory `vm2': Permission denied
看来是NFS的问题。查看NFS文档,发现NFS服务器上/etc/exports中的权限设置有这么一个选项:no_all_squash,这个选项表示不要改变向NFS服务器发送请求的用户的映射。因为$SGE_ROOT是所有机器的公共目录,并且希望它在任何系统上的任何用户眼里都没有差别。所以用上了这个选项。这样,vm1上的/etc/exports文件如下:
/home * (rw,sync)
/opt/sge * (rw,sync,no_all_squash)
在vm1上重启nfs,在vm2上再安装install_execd,这次成功。
[root@vm2 sge]# ps ax | grep sge
3447 ? S 0:00 /opt/sge/bin/lx24-x86/sge_execd
3499 pts/0 S 0:00 grep sge
在vm3上:
[root@vm3 root]# mkdir -p $SGE_ROOT
[root@vm3 root]# mount -t nfs vm1:/opt/sge $SGE_ROOT
[root@vm3 root]# cd $SGE_ROOT
[root@vm1 sge]# qconf -ah vm3
vm3 added to administrative host list
[root@vm1 sge]# qconf -as vm3
vm3 added to submit host list
但是在vm3上安装也出现了不能创建vm3目录的错误。这说明在NFS服务器上加的那个no_all_squash选项没有任何作用。为了验证又以root@vm2在$SGE_ROOT的default/spool中创建目录,仍然出现Permissiondenied错误,说明在vm2上成功不是依靠那个no_all_squash选项。那么vm2上为什么会成功的呢?奇怪的是,在vm3上失败一次以后再次安装,居然就成功了,给人感觉这是一个时间相关的问题,猜想可能与NFS服务器上那个sync选项有关,安装时创建目录没有及时响应导致超时错误。无论如何,问题误打误撞解决了,也不再细究了。
在vm3上把vm1导出的/home目录mount上去,提交一个作业测试一下。
先修改vm1上的/etc/exports文件,使得/home导出时也带上no_all_squash参数。
修改一下队列的相关参数:
[root@vm1 sge]# qconf -sql
all.q
[root@vm1 sge]# qconf -mq all.q
把其中的slots一行改成:
slots 1,[vm1=1],[vm2=2],[vm3=2]
用qstat -f看一下:
[root@vm1 sge]# qstat -f
queuename qtype used/tot. load_avg arch states
----------------------------------------------------------------------------
all.q@vm1 BIP 0/1 0.00 lx24-x86
----------------------------------------------------------------------------
all.q@vm2 BIP 0/2 0.00 lx24-x86
----------------------------------------------------------------------------
all.q@vm3 BIP 0/2 0.00 lx24-x86
另外把shell从以前的/bin/csh改成/bin/bash。
在vm3上切换到sgeadmin用户,因为作业执行结果会放到每个执行机的当前用户的HOME目录中,而vm1上的/root并没有导出,如果用root提交,则结果会分散到每个执行机中。
这是在vm1上用root用户提交10个作业用qstat-f查看的用户截图:
[root@vm1 sge]# qstat -f
queuename qtype used/tot. load_avg arch states
----------------------------------------------------------------------------
all.q@vm1 BIP 1/1 0.00 lx24-x86
1 0.55500 simple.sh root r 11/26/2009 20:12:22 1
----------------------------------------------------------------------------
all.q@vm2 BIP 2/2 0.00 lx24-x86
2 0.55500 simple.sh root r 11/26/2009 20:12:22 1
5 0.55500 simple.sh root r 11/26/2009 20:12:22 1
----------------------------------------------------------------------------
all.q@vm3 BIP 2/2 0.00 lx24-x86
3 0.55500 simple.sh root r 11/26/2009 20:12:22 1
4 0.55500 simple.sh root r 11/26/2009 20:12:22 1
############################################################################
- PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS -PENDING JOBS
############################################################################
6 0.55500 simple.sh root qw 11/26/2009 20:12:17 1
7 0.55500 simple.sh root qw 11/26/2009 20:12:18 1
8 0.55500 simple.sh root qw 11/26/2009 20:12:19 1
9 0.55500 simple.sh root qw 11/26/2009 20:12:19 1
10 0.55500 simple.sh root qw 11/26/2009 20:12:20 1
[root@vm1 root]# ls
anaconda-ks.cfg install.log.syslog simple.sh.e6 simple.sh.o6
install.log simple.sh.e1 simple.sh.o1
看到,在作业执行完成后,只有作业1和作业6的结果在vm1上。
这是在vm3上以sgeadmin用户身份提交10个作业的状态:
[sgeadmin@vm3 sge]$ bin/lx24-x86/qstat -f
queuename qtype used/tot. load_avg arch states
----------------------------------------------------------------------------
all.q@vm1 BIP 1/1 0.00 lx24-x86
11 0.55500 Sleeper sgeadmin r 11/26/2009 20:15:22 1
----------------------------------------------------------------------------
all.q@vm2 BIP 2/2 0.00 lx24-x86
12 0.55500 Sleeper sgeadmin r 11/26/2009 20:15:22 1
14 0.55500 Sleeper sgeadmin r 11/26/2009 20:15:22 1
----------------------------------------------------------------------------
all.q@vm3 BIP 2/2 0.02 lx24-x86
13 0.55500 Sleeper sgeadmin r 11/26/2009 20:15:22 1
15 0.55500 Sleeper sgeadmin t 11/26/2009 20:15:22 1
############################################################################
- PENDING JOBS - PENDING JOBS - PENDING JOBS - PENDING JOBS -PENDING JOBS
############################################################################
16 0.55500 Sleeper sgeadmin qw 11/26/2009 20:15:14 1
17 0.55500 Sleeper sgeadmin qw 11/26/2009 20:15:14 1
18 0.55500 Sleeper sgeadmin qw 11/26/2009 20:15:15 1
19 0.55500 Sleeper sgeadmin qw 11/26/2009 20:15:15 1
20 0.55500 Sleeper sgeadmin qw 11/26/2009 20:15:16 1
执行完以后:
[sgeadmin@vm3 sgeadmin]$ ls
Sleeper.e11 Sleeper.e14 Sleeper.e17 Sleeper.e20 Sleeper.o13 Sleeper.o16 Sleeper.o19
Sleeper.e12 Sleeper.e15 Sleeper.e18 Sleeper.o11 Sleeper.o14 Sleeper.o17 Sleeper.o20
Sleeper.e13 Sleeper.e16 Sleeper.e19 Sleeper.o12 Sleeper.o15 Sleeper.o18
再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow
网格环境配置 三 安装SGE相关推荐
- 网格环境配置(三):安装SGE
安装 SGE 开始安装 SGE. vm1作为 sge的 master主机.用户账号和系统服务这些信息都通过 NIS服务器来统一管理. master主机和执行机通过 NFS服务共享 $SGE_ROOT. ...
- android 环境配置和安装, Android系统包说明,基本控件,常用代码,ADB 命令行,APK文件确解,小技艺,...
一. 环境配置和安装(Android2.2) 参考文章:这里 1.1 JDK 1.2 SDK 下载地址:http://dl.google.com/android ...
- linux下织梦cms安装环境配置文件,Mac本地环境配置以及安装织梦CMS,增加新的坑解决办法...
Mac上其实已经自带了Apache和PHP,只是默认关闭的.开启一下就行了. Apache配置 apache已经自带了,只需在"终端"输入命令开启下就行了. 开启apache ...
- wamp环境变量配置php,WAMP环境配置-PHP安装
我这次环境配置安装的是php-5.6.25版本! (最近我在反复安装PHP的时候出现了一个问题,httpd.conf加载php5apache2_4.dll出现错误,怎么修改都不行,此时我安装的是VC1 ...
- 【一生一芯】Chap.1 “一生一芯”实验环境配置| VMware安装Ubuntu20.04 | PA工程配置 | 解决llvm版本问题
[一生一芯]Chap.1 "一生一芯"实验环境配置| VMware安装Ubuntu20.04 | PA工程配置 | 解决llvm版本问题 0. 什么是PA? 1. 安装VMware ...
- java环境配置步骤_java环境配置及安装的详细步骤
java环境配置及安装的详细步骤 发布时间:2020-04-22 14:15:59 来源:亿速云 阅读:141 作者:小新 今天小编给大家分享的是java环境配置及安装的详细步骤,相信很多人都不太了解 ...
- Pytorch环境配置与安装(Anaconda、Pycharm、Jupyter)
目录 一. Pytorch环境配置与安装 1.1 安装Anaconda 1.2 创建Anaconda虚拟环境 1.3 安装Pytorch 二. Pycharm和Jupyter notebook的安装及 ...
- PyTorch 在 Windows 10 系统下的环境配置及安装
PyTorch 简介 PyTorch 是一个开源的 Python 机器学习库,基于 Torch,用于自然语言处理等应用程序. 相关链接: PyTorch 官方网站 PyTorch 的 Github 仓 ...
- Windows10下QT6(C++)+OpenCV4环境配置及安装
文章目录 1. 安装Qt 2. 安装Cmake 3. 下载并编译OpenCV4 4. Qt6配置OpenCV 5. 资源 参考博主文章 Windows10下QT6.0(C++)+OpenCV4环境配置 ...
最新文章
- R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置图例位置、移除图例)实战
- Vue.js 渲染函数 JSX
- 基于阿里云镜像源使用kubeadm安装k8s单master节点集群(v1.17.3)
- apache的es的原理_ElasticSearch原理
- Service Fabric下删除实例并注销应用
- ping不通自己的ip地址_如何批量Ping N个IP地址,掌握一个命令让你节省N小时,让老板给你加鸡腿!...
- 7个开放式的前端面试题
- matlab2c使用c++实现matlab函数系列教程- poly函数
- Hadoop2.2.0中HDFS的高可用性实现原理
- Python爬虫教程-22-lxml-etree和xpath配合使用
- 基于Javaweb的机房预约管理系统
- C# 随机生成名字,电话,图像
- SQL 查询 skip locked的使用
- h5页面生成图片分享到微信js_H5网页实现微信分享功能
- 高琪飞机项目飞机爆炸图片_爆炸式的工作机会和多项目同步
- 【毕业设计】 单片机自动写字机器人设计与实现 - 物联网 嵌入式 stm32
- word一键生成ppt 分页_PPT插入word自动分页
- 打怪游戏 勇者打恶龙1.6(1.7)
- 湖南省首届逻辑推理大赛(中南大学)
- matlab电流可逆斩波电路,电流可逆斩波电路.PPT