Slurm集群搭建的教程
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"Slurm集群搭建的教程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Slurm集群搭建的教程"吧!一、系统环境a) Centos 7.
千家信息网最后更新 2025年12月02日Slurm集群搭建的教程
本篇内容主要讲解"Slurm集群搭建的教程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Slurm集群搭建的教程"吧!
一、系统环境
a) Centos 7.8b) 两台机器规划IP 分别为10.10.0.20 与10.10.0.21c) 机器主机名分别为node1、node2d) 均关闭了防火墙以及selinuxe) 已经配置好SSH 免密、NIS、NFS
二、配置munge 及Slurm
a) 安装依赖 yum install -y epel-release yum install -y gtk2 gtk2-devel munge munge-devel python python3b) 配置munge #两台机器均要配置 chown slurm:slurm /etc/munge chown slurm:slurm /var/run/munge chown slurm:slurm /var/lib/munge chown slurm:slurm /var/log/munge create-munge-key #此步骤只在node1 节点做即可 scp /etc/munge/munge.key node2:/etc/munge/ chown slurm:slurm /etc/munge/munge.key su - slurm #所有节点使用slurm 用户启动munged mungedc) 配置Slurm #所有节点配置相同 tar xvf slurm-20.11.5.tar.bz2 cd slurm-20.11.5/ ./configure make -j3 make install -j3 cp etc/{slurmctld.service,slurmdbd.service,slurmd.service} /usr/lib/systemd/system vi /usr/local/etc/slurm.conf #配置文件附在PS 中 scp /usr/local/etc/slurm.conf node2:/usr/local/etc/ chown slurm:slurm /var/spool/ systemctl start slurmctld #主节点启动slurmctld、slurmd systemctl start slurmd #从节点只需启动slurmd 即可三、测试
a) 系统命令测试 [root[@node1](https://my.oschina.net/u/4273199) ~]# sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST control up infinite 1 idle node1 compute* up infinite 2 idle node[1-2] [root[@node1](https://my.oschina.net/u/4273199) ~]# srun -N 2 -l hostname # -N 2 执行的节点数 0: node1 1: node2 至此Slurm 集群搭建完成b) mpi 测试 vi test.c #测试程序在PS 中 mpicc -o test test.c #编译mpi 程序 vi tj.sh #作业脚本在PS 中 sbatch tj.sh #提交作业 squeue #查看作业状态 [root[@node1](https://my.oschina.net/u/4273199) ~]# cat test.out #查看作业结果 node2: Hello world from process 2 number of processes: 4 ...node1: Hello world from process 0 node2: Hello world from process 3 node1: Hello world from process 1
四、PS
a) tj.sh 作业脚本 #!/bin/sh #SBATCH -o /root/test.out #结果输出到test.out #SBATCH --nodes=2 #节点数:2 #SBATCH --ntasks-per-node=2 mpirun /root/testb) slurm.conf 配置文件 SlurmctldHost=node1 #主节点 MpiDefault=none ProctrackType=proctrack/pgid #通过网站配置注意修改 ReturnToService=1 SlurmctldPidFile=/var/run/slurmctld.pid SlurmctldPort=6817 SlurmdPidFile=/var/run/slurmd.pid SlurmdPort=6818 SlurmdSpoolDir=/var/spool/slurmd SlurmUser=slurm #slurm 管理用户 StateSaveLocation=/var/spool SwitchType=switch/none TaskPlugin=task/affinity InactiveLimit=0 KillWait=30 MinJobAge=300 SlurmctldTimeout=120 SlurmdTimeout=300 Waittime=0 SchedulerType=sched/backfill SelectType=select/cons_tres SelectTypeParameters=CR_Core AccountingStorageType=accounting_storage/none AccountingStoreJobComment=YES ClusterName=siton #集群名 JobCompType=jobcomp/none JobAcctGatherFrequency=30 JobAcctGatherType=jobacct_gather/none SlurmctldDebug=info SlurmdDebug=info NodeName=node1,node2 CPUs=4 RealMemory=2 Sockets=4 CoresPerSocket=1 ThreadsPerCore=1 State=UNKNOWN /*节点名称,CPUs 核数,corepersocket,threadspersocket,使用lscpu 查看,realmemory 实际分配给slurm 内存,procs 是实际CPU 个数,/proc/cpuinfo 里查看state=unknown是启动集群的时候为unknown,之后会变成idle*/ PartitionName=control Nodes=node1 Default=YES MaxTime=INFINITE State=UP PartitionName=compute Nodes=node1,node2 Default=YES MaxTime=INFINITE State=UP /*partitionname 是分成control 和compute,default=yes 是说这个用来计算*/ 可以通过https://slurm.schedmd.com/configurator.html 生成配置文件c) mpi 测试程序 #include#include #include #include int main(int argc, char* argv[]) { int myid, numprocs, namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_WORLD, &myid); MPI_Comm_size(MPI_COMM_WORLD, &numprocs); MPI_Get_processor_name(processor_name, &namelen); if (myid == 0) printf("number of processes: %d\n...", numprocs); printf("%s: Hello world from process %d \n", processor_name, myid); MPI_Finalize(); return 0; }
五、进阶(GPU)
修改slurm.conf 文件GresTypes=gpuNodeName=slave3 Sockets=2 Procs=32 CoresPerSocket=8 ThreadsPerCore=2RealMemory=3000 Gres=gpu:tesla:2 State=UNKNOWN NodeAddr=10.135.12.29此外,slave3 这个机器需配置GPU 信息,编辑/usr/local/etc/gres.conf 文件Name=gpu Type=tesla File=/dev/nvidia0Name=gpu Type=tesla File=/dev/nvidia1slurm 脚本中添加gres 指定gpu 资源#SBATCH --gres=gpu:tesla:2
到此,相信大家对"Slurm集群搭建的教程"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
配置
节点
集群
文件
作业
测试
机器
教程
实际
程序
脚本
内容
点数
用户
系统
结果
网站
别为
学习
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全法知识竞赛和答案
网络安全防线高清图
网络安全哪些证书适合新人
软件开发不做企业软件能做什么呢
如何修改软件开发过程
网络技术与管理是什么专业
明日之后服务器卡顿是什么原因
英雄联盟山东有哪些服务器
使用cmd命令操作数据库
电力网络安全漫画
服务器机箱和主板怎么连接
壮熊数据库
maven找不到数据库
转录本数据库
是其他数据库对象的集合
section软件开发者
h5p服务器
浙江成功软件开发
十堰串口服务器多少钱
高通平台软件开发招聘
网络技术题库app
服务器防御是怎么做的
英雄联盟山东有哪些服务器
什么样的企业需要数据库
元数据库访问失败
计算机网络技术的社团名称
淘宝上架不了 网络 云服务器
福建信息化软件开发费用
荣耀路由网络安全
7800w用多大的服务器