SLURM 安装与配置

SLURM 介绍

SLURM 是一个可用于大型计算节点集群的高度可伸缩的集群管理器和作业调度系统。SLURM 维护着一个待处理工作的队列并管理此工作的整体资源利用。SLURM 将作业分发给一组已分配的节点来执行。

本质上,SLURM 是一个强健的集群管理器,它高度可移植、可伸缩至大型节点集群、容错好,而且更重要的是它是开源的。

关于 SLURM 的架构可以参考 http://slurm.schedmd.com/

安装 SLURM

这里安装都是以在CentOS6.5上安装为例。并且因为 SLURM 是在集群中使用,所以我们这里假定有三台相同版本的linux,机器名分别为mycentos6x,mycentos6x1和mycentos6x2,其中 mycentos6x 作为控制节点。

安装 MUNGE

首先 SLURM 需要使用 MUNGE 来认证,所以我们要先来安装 MUNGE。

从 MUNGE(https://github.com/dun/munge) 的官方网站下载安装包,这里使用 munge-0.5.11.tar.bz2 文件。使用 root 用户运行下面命令

编译并安装 munge 包

# rpmbuild -tb --clean munge-0.5.11.tar.bz2
# cd /root/rpmbuild/RPMS/x86_64
# rpm --install munge*.rpm

在编译rpm包和安装的过程中可能会提示需要一些第三方的软件包,此时可以使用 “yum install -y xxx” 来安装,我在安装的时候就是先安装了下面的软件包

# yum install -y rpm-build rpmdevtools bzip2-devel openssl-devel zlib-devel

安装完成后,需要修改下面这些文件的权限

# chmod -Rf 700 /etc/munge
# chmod -Rf 711 /var/lib/munge
# chmod -Rf 700 /var/log/munge
# chmod -Rf 0755 /var/run/munge

另外需要注意的是检查一下/etc/munge/munge.key文件,文件的 owner 和 group 必须是 munge,否则启动会失败。

安装完成后,就可以启动 munge 服务了

# /etc/init.d/munge start

最后,需要把 /etc/munge/munge.key 复制到另外两台机器上,并确保文件权限和属主都相同。

安装 SLURM

首先创建slurm用户

# useradd slurm
# passwd slurm

访问 SLURM(http://slurm.schedmd.com/)下载安装包,这里使用 slurm-14.11.8.tar.bz2 安装包。

编译并安装 slurm 包

# rpmbuild -ta --clean slurm-14.11.8.tar.bz2
# cd /root/rpmbuild/RPMS/x86_64
# rpm --install slurm*.rpm

在编译rpm包和安装的过程中提示我安装了下面的软件包

# yum install -y readline-devel pam-devel perl-DBI perl-ExtUtils-MakeMaker

安装完成后,修改下面命令的属组

# sudo chown slurm:slurm /var/spool

到这里,SLURM的安装就完成了,但是还不能启动,我们还需要做一下配置才可以启动slurm服务并提交作业。

配置 SLURM

进入/etc/slurm/目录,复制slurm.conf.example文件成slurm.conf,然后编辑/etc/slurm/slurm.conf文件
下面是我的文件中修改的部分

ControlMachine=mycentos6x
ControlAddr=192.168.145.100
SlurmUser=slurm
SelectType=select/cons_res
SelectTypeParameters=CR_Core
SlurmctldDebug=3
SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=3
SlurmdLogFile=/var/log/slurmd.log
NodeName=mycentos6x,mycentos6x1,mycentos6x2 CPUs=4 RealMemory=500 Sockets=2 CoresPerSocket=2 ThreadsPerCore=1 State=IDLE
PartitionName=control Nodes=mycentos6x Default=YES MaxTime=INFINITE State=UP
PartitionName=compute Nodes=mycentos6x1,mycentos6x2 Default=NO MaxTime=INFINITE State=UP

注:这里需要将此配置文件部署到集群里的每台机器上。

保存文件,然后使用下面命令启动slurm服务

# /etc/init.d/slurm start

测试

在启动了slurm服务之后,我们可以使用下面一些命令来查看集群状态并提交作业

# sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
control*     up   infinite      1   idle mycentos6x
compute      up   infinite      2   idle mycentos6x1,mycentos6x2
# scontrol show slurm reports
Active Steps             = NONE
Actual CPUs              = 2
Actual Boards            = 1
Actual sockets           = 1
Actual cores             = 2
Actual threads per core  = 1
Actual real memory       = 1464 MB
Actual temp disk space   = 29644 MB
Boot time                = 2015-07-22T09:50:34
Hostname                 = mycentos6x
Last slurmctld msg time  = 2015-07-22T09:50:37
Slurmd PID               = 27755
Slurmd Debug             = 3
Slurmd Logfile           = /var/log/slurmd.log
Version                  = 14.11.8
# scontrol show config
# scontrol show partition
# scontrol show node
# scontrol show jobs

提交作业

# srun hostname
mycentos6x
# srun -N 3 -l hostname
0: mycentos6x
1: mycentos6x1
2: mycentos6x2
# srun sleep 60 &

查询作业

# squeue -aJOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)77     debug    sleep   kongxx  R       0:06      1 mycentos6x

取消作业

# scancel <job_id>

参考:

SLURM:http://slurm.schedmd.com/
MUNGE: https://github.com/dun/munge

转载请以链接形式标明本文地址
本文地址:http://blog.csdn.net/kongxx/article/details/48173829

SLURM 安装与配置相关推荐

  1. slurm安装配置_slurm安装血泪史

    因为比较顺利地安装好slurm,整理好了一些遇到的问题,希望能帮到大家. 我参考这篇博客安装http://blog.csdn.net/datuqiqi/article/details/50827040 ...

  2. slurm安装配置_Slurm任务调度系统部署和测试(源码)(1)

    1. 概述 slurm任务调度系统,主要应用在HPC集群资源管理和任务调度.具体信息参见slurm官方网站:https://slurm.schedmd.com/ 部署Slurm任务调度系统,需要部署N ...

  3. centos系统slurm安装

    文|MESeraph 01 | 预先操作 关闭Centos界面登录.(仅适用于Centos7以上版本) systemctl get-default systemctl set-default mult ...

  4. Maven安装与配置(最实用!!!)eclipse中配置maven

    Maven安装与配置 一.需要准备的东西 JDK Eclipse(本章主要是在eclipse中进行配置maven) Maven程序包 二.下载与安装 1. 前往maven下载最新版的Maven程序: ...

  5. Portainer 安装与配置

    文章目录 Portainer 安装与配置 一.介绍 二.安装使用 1.单机运行 2.基于swarm集群方式运行 Portainer 安装与配置 一.介绍 ​ Portainer 是一个开源.轻量级Do ...

  6. Myeclipse安装、配置、测试

    Myeclipse安装.配置.测试(win7_64bit) 目录 1.概述 2.本文用到的工具 3.安装与激活 4.JavaSE开发测试(确保JDK已正确安装) 5.JavaEE开发测试(确保服务器和 ...

  7. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  8. centos6.5 php5.2,Linux中PHP安装与配置(CentOS-6.5:php-5.2.13)

    1 PHP简介     PHP(PHP: Hypertext Preprocessor的缩写,中文名:"超文本预处理器")是一种通用开源脚本语言.语法吸收了C语言.Java和Per ...

  9. java jdk 1.8 安装_下载、安装、配置 java jdk1.8

    近期配置react native的开发环境,所以就从配置环境开始.rn的环境配置有那么几项,其中重要的一个就是java jdk(Java Development Kit 的缩写),那么以下就是下载.安 ...

最新文章

  1. docker添加新的环境变量_Docker的安装及部署Spring Boot项目操作详解!
  2. C#中的依赖注入那些事儿
  3. Vue nextTick 机制
  4. 偷天换日?公众号广告新骗局 被坑的多是运营
  5. java垃圾回收机制GC
  6. js彻底解决中文乱码问题
  7. lavas自动创建目录及说明
  8. EINT、DINT、ERTM、DRTM和EALLOW、EDIS、ESTOP0解析
  9. 论坛勋章动态特效制作流程
  10. JavaScript案例之抽奖机
  11. oa系统 云服务器配置,oa系统云服务器配置
  12. oracle ora00940,ORA-32773问题的解决方法。
  13. 使用dnsmasq,实现本地的DNS服务
  14. 英语不好怎么自学python_为什么我就是学不好英语啊?我明明很努力,但是为... 我英语一般,但我很想学Python这个编程语言,行不?...
  15. 【Java】poi | excel | 合并单元格
  16. fixed 和 fixed
  17. JavaWeb是什么?如何学习JavaWeb的体系
  18. SRPG游戏开发(五十三)第十一章 地图动作与地图事件 - 二 地图剧情(Map Plot)
  19. 弘辽科技:抖音最大对手,有了新变化
  20. ACM概率期望dp刷题总结

热门文章

  1. 360搜索引擎so自动收录php改写方案——适合phpcms等cms
  2. seo模拟点击软件_哪些SEO排名工具是有效的呢?
  3. win7虚拟机永恒之蓝漏洞复现
  4. Java五子棋小游戏(源码及效果图)
  5. d3ForceEasy —— 一个封装D3js force力导向图 简单使用的轮子
  6. 区块链技术与应用(赵其刚等)课后题答案
  7. html5地图编辑器,XTranslator Map Editor(地图编辑器)
  8. Firefox使用Chrome主题
  9. java毕业设计创达内部管理系统Mybatis+系统+数据库+调试部署
  10. 好书精读推荐:《苏世民:我的经验与教训》