1:关于slurm的相关资料

slurm任务调度系统,主要应用在HPC集群资源管理和任务调度。

相关知识在网上很容易能够查找,这里就不再赘述.

网上的部署资料有些零碎,要么就要vip...., 本文主要记录如何部署slurm.

2:部署环境

使用的是虚拟机VMware,安装的操作系统是CentsOS7

CentOS8安装会存在一些麻烦,作为练手项目这里选择更简单的CentOS7

此为单机部署,集群下只有本机一个节点作为入门

3:开始部署

首先安装基础操作环境,这部分一般没有什么难点.

转好虚拟机后,确定虚拟机能够联网,以方便接下类的安装

3.1:首先是安装一些必要的环境和库

3.1.1:换源

一般当前的镜像源是找不到包的...所以换国内的源

yum install epel-release

3.1.2:装环境

安装一些后续运行所依赖的环境

yum install -y rpm-build bzip2-devel openssl openssl-devel zlib-devel perl-DBI perl-ExtUtils-MakeMaker pam-devel readline-devel mariadb-devel python3 gtk2 gtk2-devel gcc make

3.2:安装munge

这一步倒是很少出错,

1:移除之前可能错误安装的munge和munge用户,

yum remove -y munge munge-libs munge-devel
userdel -r munge

2:开始安装munge,并启动munge服务

yum -y install munge munge-libs munge-devel -y
/usr/sbin/create-munge-key
systemctl enable munge --now

3.3 :安装PMIX

这里选择源码安装,源码地址https://github.com/openpmix/openpmix/releases

这里下载的是3.2.4版本,下载后放到桌面即可,当然其他位置也行

cd切换到包的目录解压

//解压
tar -zxvf pmix-3.2.4-2.tar.gz
//进入解压后的目录
cd pmix-3.2.4
//安装依赖库
yum install -y hwloc-devel libevent-devel
//安装pmix
./configure && make install -j $(nproc)

 3.4:安装slurm

3.4.1 :还是先下载,slurm版本一般没有坑,下载新版的即可,重要的是配置文件slurm.config和service文件位置

这里仍然是放到了桌面解压安装

//如果下载的是不同版本,注意文件名字即可
tar --bzip -x -f slurm*tar.bz2
cd slurm-23.02.3/
./configure && make install -j $(nproc)

3.4.2: 之后就是slurm.conf文件了,这里极易出错,建议去slurm官网生成

进入slurm官网Slurm Workload Manager - Documentation (schedmd.com)

 

 这里关键信息要填写,其他的可以保持默认


ClusterName :集群名子,随便写一个,但是要与后面的对应

SlurmctldHost:这个必须正确,获取方法,打开一个终端框

                输入hostname -s 可以看到,通常的主机名为localhost

nodename 因为是单机单节点所以是本机名字,同上

nodeaddr 单节点,这里填本机IP地址,    获取方式:命令框输入ip addr,可以在ens33列后面看到

SlurmUser 最好写root

Default MPI Type 可不选,这里选PMIX

Process Tracking 这里选LinuxProc

Resource Selection Cons_res

Job Accounting Gather Linux

点最后的submit会跳转到网页生成配置文件的代码

在虚拟机中用命令新建一个文本文件,

touch slurm.conf

chmod 777 slurm.conf

将生成网页中的所有代码粘贴到文本文件中 


 3.4.3:将填写好的的配置文件放到/usr/local/etc下

cp slurm.conf /usr/local/etc

3.4.4:然后cd切换到之前解压的slurm-23.02.3文件下.执行

cd ./etc/
chmod 755 *.service && cp *.service /etc/systemd/system
cd /etc/systemd/system

3.4.5:启动slurm服务

systemctl enable slurmctld --now
systemctl enable slurmd --now
sinfo

 能看到节点up说明安装成功

4:提交一个作业运行测试验证

创建作业job.sh

touch job.sh

vim job.sh

编辑:注意,这里将输出打印到了桌面,每个人虚拟机的桌面路径位置是不同的

应当修改output=/home/mohua/Desektop/output.txt

这里的路径信息,修改为自己的路径即可

#!/bin/bash
#SBATCH --job-name=myjob
#SBATCH --output=/home/mohua/Desektop/output.txt
#SBATCH --time=5:00

echo "This is my job."
echo "The current working directory is: $PWD"
echo "The date is: $(date)"
echo "The hostname is: $(hostname)"

 提交作业:

sbatch job.sh

 可以看到生成了output.txt

成功^_^

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐