Slurm集群搭建的教程
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,本篇内容主要讲解"Slurm集群搭建的教程",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Slurm集群搭建的教程"吧!一、系统环境a) Centos 7.
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
网络安全手机及计算机
深圳中亚科技网络公司软件开发
n11无法编辑数据库
万顺云网络技术
一路商机网络技术
q连接数据库
网络安全数字签名作用
网络安全法关于网络投票
如何查看云端服务器公网ip
燃烧的远征最新服务器2022
自动化 概念模型 数据库
数据库技术是什么年代开始发展
串口服务器与电脑相连
Paik数据库不同步
阿里云数据库远程连接
网络安全CDC
代理服务器改变ip
参观网络安全宣传展板
雅量软件开发公司
网络安全周记高一
数据库需要测试些什么
微信客服回复违反网络安全法
李亮和万鑫是是某软件开发
Paik数据库不同步
软件开发 工资 北京
广州人工智能软件开发哪家便宜
游戏用什么数据库
业务项目数据库
苹果软件开发工具包
火绒无法连接steam服务器