1. 概述

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

部署Slurm任务调度系统,需要部署NTP内网时间同步服务器,LDAP全局认证服务器,Mysql数据库服务器

本篇博客主要记录如何部署和使用slurm任务调度系统。

1.1 节点信息

节点主机名

操作系统

主机地址

主机角色

node11

centos6.5_x86_64

192.168.10.11

主控制器

node12

centos6.5_x86_64

192.168.10.12

备控制器

node13

centos6.5_x86_64

192.168.10.13

数据存储主控制器

node14

centos6.5_x86_64

192.168.10.14

数据存储备控制器

node15

centos6.5_x86_64

192.168.10.15

MySQL数据库服务器

2. 节点准备

本篇博客的节点,均有已经部署好NTP和LDAP服务客户端的node11克隆,减少部署过程的繁琐。

KVM克隆虚拟机,参见博客《KVM虚拟机管理——虚拟机克隆.md》

博客园地址:https://www.cnblogs.com/liwanliangblog/p/9193910.html

根据博客内容指导,很容易克隆出其他几台虚拟机,提供slurm任务调度环境部署和测试。

3. 部署NTP服务器

4. 部署LDAP服务器

5. 部署Munge认证服务

6. 部署Mysql数据库服务

7. 部署slurm

7.1 创建slurm用户

需要创建slurmadmin全局用户,用于运行slucrmctld和slurmdbd;

slurmd因为负责节点的状态,因此需要root权限,不需要创建;

同样在LDAP中创建slurmadmin用户

参见博客:《LDAP-openldap服务部署和测试(YUM安装).md》

博客园地址:https://www.cnblogs.com/liwanliangblog/p/9193916.html

7.2 挂载全局文件系统

在前面的博客中提到,把虚拟机console的/usr/local,作为全局共享目录,通过NFS文件系统实现共享。

在虚拟机console上,需要启动NFS共享。编辑/etc/exports,内容如下图所示:

执行命令:exportfs -r,使得配置的内容生效,通过"exportfs"查看配置是否生效

执行命令:pdsh -a "yum -y install nfs-utils rpcbind",安装挂载NFS需要的软件包

执行命令:pdsh -a "service rpcbind start",开启rpcbind服务,否则挂载会报错

执行命令:pdsh -a "mount -t nfs 192.168.10.8:/usr/local /usr/local",对节点进行NFS文件系统挂载

执行命令:pdsh -a "df -h | grep -w local",对挂载情况进行检查

7.3 slurm下载

从slurm官方网站下载最新版本slurm,下载地址为:https://www.schedmd.com/downloads.php

本篇博客主要部署两个版本

slurm-16.05.3.tar.gz 该版本已经被官网废弃,本篇博客因为工作需要继续使用

slurm-17.11.7.tar.bz2 截至博客更新时的最新版本

7.4 编译安装

因为规划在node15上部署了MySQL数据库(虚拟机console并未部署MySQL),而在编译slurm时,需要使用到mysql_config,因此需要在node15上进行编译

将slurm-16.05.3.tar.gz拷贝至node15,然后解压,编译,安装

解压

执行命令:tar -zxvf slurm-16.05.3.tar.gz -C /tmp;

YUM安装依赖环境

执行命令:yum -y install libgnomeui-devel readline-devel curl-devel

进入目录,配置configure

执行以下命令:

./configure \

--prefix=/usr/local/globle/softs/slurm/16.05.3 \

--sysconfdir=/usr/local/globle/softs/slurm/16.05.3/etc \

--localstatedir=/var \

--enable-pam \

--enable-memory-leak-debug \

--enable-front-end --enable-salloc-kill-cmd \

--enable-simulator \

--enable-multiple-slurmd \

--with-pam_dir=/lib64 \

--with-zlib \

--with-rrdtool \

--with-mysql_config=/usr/lib64/mysql/ \

--with-munge=/usr/local/globle/softs/munge/0.5.12/ \

--with-ssl \

--with-libcurl

注:上述部分--with选项,实际并没有编译。通过查看config.log的WARNING可以确认是否安装。mysql_config指定的是mysql_config的路径,而非文件

编译安装

执行命令make进行编译,执行命令make install进行安装

创建配置文件目录

上述过程完成后,可以在/usr/local/globle/softs/slurm下查看已经安装的目录,但是此时该目录下并没有etc,log,state等目录,因此需要手动创建

执行命令:mkdir etc log state;

修改目录属性:chmod 777 log

拷贝配置文件模板

在源码目录下的etc目录中,存放着配置文件的模板文件

执行命令:cp slurm.conf.example cgroup.conf.example slurmdbd.conf.example /usr/local/globle/softs/slurm/16.05.3/etc/

8. slurm配置

8.1 配置slurm.conf

编辑slurm集群主配置文件:/usr/local/globle/softs/slurm/16.05.3/etc/slurm.conf

笔记内链:《slurm.conf系统初始配置.md》

博客园地址:https://www.cnblogs.com/liwanliangblog/p/9201624.html

8.2 配置slurmdbd.conf

编辑slurm集群数据库主配置文件:/usr/local/globle/softs/slurm/16.05.3/etc/slurmdbd.conf

笔记内链:《slurmdbd.conf系统初始配置.md》

博客园地址:https://www.cnblogs.com/liwanliangblog/p/9201634.html

8.3 配置cgroup.conf

编辑slurm集群cgroup机制配置文件:/usr/local/globle/softs/slurm/16.05.3/etc/cgroup.conf

笔记内链:《cgroup.conf系统初始配置.md》

博客园地址:https://www.cnblogs.com/liwanliangblog/p/9201639.html

8.4 配置数据库和测试

本篇博客前面部分已经在虚拟机node15上创建了MySQL数据库。

8.4.1 node15创建数据库并授权

在node15上,执行:mysql -uroot -p,输入密码进入数据库系统

创建数据库:create database slurm_acct_db;

授权node13访问:grant all privileges on slurm_acct_db.* to 'slurmadmin'@'192.168.80.13' identified by 'liwanliang';

授权node14访问:grant all privileges on slurm_acct_db.* to 'slurmadmin'@'192.168.80.14' identified by 'liwanliang';

刷新授权表:flush privileges;

8.4.2 测试连接

在node13和node14节点,分别进行MySQL数据库的连接。这要求node13和node14必须安装了mysql软件包。

在node13和node14上,分别执行:rpm - qa |grep mysql查看是否安装mysql软件包。若未安装,执行:yum -y install mysql安装

在node14和node14上,分别执行:mysql -h 192.168.80.15 -uslurmadmin -p,输入密码进行数据库连接测试。

进入数据库之后,执行:show databases;查看是否存在slurm_acct_db数据库,验证数据库授权是否正确。

9. slurm启动

9.1 启动数据库存储服务slurmdbd

可以采用slurmdbd -vvvvDDDD,进行调试启动,查看是否启动过程中有无错误。若无错误,可以以绝对路径的方式启动进程。

slurmdbd存在主备节点,node13作为slurmdbd主节点。若配置文件中未配置slurmdbd的备份节点,则在node14上无法启动slurmdbd。

如需启动,需要修改配置文件。

注:在线使用过程中,如果修改了slurmdbd.conf配置,可以通过sacctmgr reconfig重新加载配置文件。前提是配置文件不能够出现错误,否则会造成当前在线的服务over

9.2 注册集群信息

在启动控制器slurmctld之前,需要将slurm.conf中配置的slurm集群名称添加到数据库中。

否则会在启动slurmctld时,提示未注册集群。

执行命令:/usr/local/globle/softs/slurm/16.05.3/bin/sacctmgr add cluster myslurm,根据提示输入y即可在slurmdbd中,注册集群名称

验证。执行命令:/usr/local/globle/softs/slurm/16.05.3/bin/sacctmgr show cluster,即可查看当前注册的slurm集群信息。

9.3 启动控制器slurmctld

在节点node11上,执行命令:slurmctld -vvvvDDDD,进行调试启动,查看启动过程中是否存在错误,若无错误,则可以后台启动。

在节点node12上,执行同样的命令,即可启动slurmctld的备份控制器。具体使用和测试,参见《Slurm任务调度系统部署和测试(源码)(2).md》。

注:在线使用过程中,如果修改了slurmctld.conf配置,可以通过scontrol reconfig重新加载配置文件。前提是配置文件不能够出现错误,否则会造成当前在线的服务over

10. 错误及解决

10.1 未安装编译器

如下图提示,执行命令:yum -y install gcc gcc-c++ automake autoconf

10.2 未发现PAM库路径

如下图提示,执行命令:find / -name libpam.so*,可确认系统中是否存在pam库,并且能够确认路径,然后在configure配置的--with-pam_dir=/lib64

10.3 启动slurmdbd日志报错

在交互式调式结束后,结束slurmdbd进程。然后直接启动时,从slurmdbd的日志报错如下图所示:

10.4 节点状态DOWN

在完全配置成功之后,节点启动了slurmd,但是通过sinfo看到的节点状态始终为down。同步了节点时间,关闭节点防火墙和selinux均为解决问题。

最后通过查阅官方的FAQ,详细的FAQ地址:https://slurm.schedmd.com/faq.html。最后把slurm.conf中的ReturnToService=0改为ReturnToService=2解决

slurm安装配置_Slurm任务调度系统部署和测试(源码)(1)相关推荐

  1. slurm任务调度系统部署和测试(一)

    1.概述 本博客通过VMware workstation创建了虚拟机console,然后在console内部创建了8台kvm虚拟机,使用这8台虚拟机作为集群,来部署配置和测试slurm任务调度系统. ...

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

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

  3. 职教云自签系统部署教程及源码

    简介: 文本视频教程,时间多长,耐心看完即可上手测试,请勿用于非法用途 网盘下载地址: http://kekewl.org/gMAJF66WBh60 图片:

  4. 【附源码】计算机毕业设计Python安卓便利猫电影购票系统安卓app14g1h(源码+程序+LW+调试部署)

    [附源码]计算机毕业设计Python安卓便利猫电影购票系统安卓app14g1h(源码+程序+LW+调试部署) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行环境配置: Pyt ...

  5. java计算机毕业设计计算机专业招聘网站MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计计算机专业招聘网站MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计计算机专业招聘网站MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构 ...

  6. java计算机毕业设计Web产品管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计Web产品管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计Web产品管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构 ...

  7. java客服管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java客服管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java客服管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B/S架构 ...

  8. java高校墨香文学社管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java高校墨香文学社管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java高校墨香文学社管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: ...

  9. java计算机毕业设计的健身房管理系统MyBatis+系统+LW文档+源码+调试部署

    java计算机毕业设计的健身房管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计的健身房管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B ...

最新文章

  1. 【 FPGA/IC 】谈谈复位
  2. maven中把依赖的JAR包一起打包(转)
  3. 基于matlab的dsp调试方法,基于Matlab7.0的DSP调试
  4. 网络逻辑结构设计的内容不包括( )。【最全!最详细解析!】
  5. excel导入 HSSFWorkbook和XSSFWorkbook
  6. 《Visual Studio.NET Tips and Tricks》第一章的翻译
  7. CDH5.16.2下载安装
  8. python文件的基本操作_「Python」 - 文件基本操作
  9. django准备 —环境配置,及其虚拟环境安装、django安装、数据库安装、新建项目...
  10. 如何用MobaXterm查看日志信息以及xml
  11. 使用 JSONModel
  12. 计算机用户导入导出,使用csvde批量添加,导入,导出用户
  13. Adobe PDF 生成PDF文件出错的解决办法
  14. 推荐10个高效好用的办公软件,极大提升效率
  15. spark入门demo
  16. 树莓派开发笔记(八):GPIO口的I2C使用(BME280三合一传感器:温度、湿度、气压测量)
  17. 什么是codeLens
  18. [转载]世界各个地区WIFI 2.4G及5G信道划分表(附无线通信频率分配表)
  19. 爬虫面试python
  20. 计算机中利用的物理原理,现代电脑技术中物理原理.doc

热门文章

  1. input输入正则校验
  2. Vue 将秒转化为时分秒
  3. cf----2019-10-23( Posterized,Pair Of Lines,Greedy Arkady)
  4. 利用C语言制作图片旋转木马,【手工制作】创意小手作旋转木马
  5. 面试 什么场景应该拆分系统,什么场景应该合并系统
  6. sql语句创建索引_SQL创建索引语句示例说明
  7. 帮妈妈做保洁的男孩被北大录取了
  8. 刚刚,2022年中国大学生源质量排名发布
  9. 合租虚拟主机注意事项
  10. 《巧克甜恋》官方中文版全解锁存档分享