基于虚拟机的slurm集群搭建
来源:互联网 发布:pdf制作软件下载 编辑:程序博客网 时间:2024/06/14 14:20
(1)原材料:一台纯净的centos7的主节点:worker,同样配置的两台节点worker1,worker2,安装包若干:munge_0.5.10.orig.tar.bz2,slurm-16.05.11.tar.bz2
(2)附加操作:为便于后面文件传输和节点间的交互,修改如下操作。
2.1 修改每台节电的/etc/hosts文件如下:
2.2 配置主节点worker到子节点的免密码登录
每台节点上运行如下指令:
mr_zhang2014mr_zhang2014的博客
个人主页|我的博客
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
之后各自可以自己免密码ssh连接它们自己,这是为了生成authorized_keys,为后续追加提供前提条件。
ssh worker
ssh worker1
ssh worker2
将worker的公钥(.ssh/id_dsa.pub)通过远程方式追加到各个机器刚才生成.ssh/authorized_keys后就可以免密码登录。
cd .ssh
scp id_dsa.pub root@worker1:/root/
scp id_dsa.pub root@worker2:/root/
在worker1上执行
cat id_dsa.pub >> /root/.ssh/authorized_keys
在worker2上执行
cat id_dsa.pub >> /root/.ssh/authorized_keys
hostnamectl --static set-hostname worker
hostnamectl --static set-hostname worker1
hostnamectl --static set-hostname worker2
(3)安装 MUNGE
3.1 在https://launchpad.net/ubuntu/+source/munge/0.5.10-1/下载:munge_0.5.10.orig.tar.bz2文件
修改命名,否则后面rpmbuild指令会出错
mv munge_0.5.10.orig.tar.bz2 munge-0.5.10.tar.bz2
为centos安装rpmbuild指令:
yum install -y rpm-build
rpmbuild - tb --clean munge-0.5.10.tar.bz2 //编译munge
当运行出现如下界面表示编译成功
此时进入安装rpmbuild的目录下会发现如下编译好的指令:
cd /root/rpmbuild/RPMS/x86_64
安装指令:
rpm --install munge*.rpm
修改文件权限:
chmod -Rf 700 /etc/munge
chmod -Rf 711 /var/lib/munge
chmod -Rf 700 /var/log/munge
chmod - Rf 0755 /var/run/munge
启动munge:
/etc/init.d/munge start
如图表示munge已经正常启动了
(4)安装 Slurm
从http://slurm.schedmd.com/下载slurm-16.05.11.tar.bz2
编译slurm安装包
rpmbuild -ta --clean slurm-16.05.11.tar.bz2
发现缺少依赖包,如图:
安装依赖
yum install -y readline-devel perl-ExtUtils-MakeMaker pam-devel
再次执行编译
rpmbuild -ta --clean slurm-16.05.11.tar.bz2
cd /root/rpmbuild/RPMS/x86_64
安装slurm
rpm --install slurm*.rpm
会发现缺少依赖包
修改配置文件:slurm.conf
ClusterName=ssc#集群名称ControlMachine=worker#主节点名ControlAddr=192.168.50.100#主节点地址#BackupController=#BackupAddr=#SlurmUser=slurm#SlurmdUser=rootSlurmctldPort=6817SlurmdPort=6818AuthType=auth/munge#组件间认证授权通信方式,使用munge#JobCredentialPrivateKey=#JobCredentialPublicCertificate=StateSaveLocation=/tmpSlurmdSpoolDir=/tmp/slurmdSwitchType=switch/noneMpiDefault=noneSlurmctldPidFile=/var/run/slurmctld.pidSlurmdPidFile=/var/run/slurmd.pidProctrackType=proctrack/pgid# TIMERSSlurmctldTimeout=300SlurmdTimeout=300InactiveLimit=0MinJobAge=300KillWait=30Waittime=0SchedulerType=sched/backfillSelectType=select/linearFastSchedule=1# LOGGINGSlurmctldDebug=3SlurmctldLogFile=/var/log/slurmctld.logSlurmdDebug=3SlurmdLogFile=/var/log/slurmd.logJobCompType=jobcomp/none# COMPUTE NODESNodeName=worker CPUs=2 RealMemory=150 Sockets=2 CoresPerSocket=1 ThreadsPerCore=1 Procs=1 State=IDLENodeName=worker1 CPUs=2 RealMemory=150 Sockets=2 CoresPerSocket=1 ThreadsPerCore=1 Procs=1 State=IDLENodeName=worker2 CPUs=2 RealMemory=150 Sockets=2 CoresPerSocket=1 ThreadsPerCore=1 Procs=1 State=IDLEPartitionName=control Nodes=worker Default=NO MaxTime=INFINITE State=UPPartitionName=compute Nodes=worker1 Default=YES MaxTime=INFINITE State=UPPartitionName=compute Nodes=worker2 Default=YES MaxTime=INFINITE State=UP
将worker的munge.key和slurm.conf分发给worker1,和worker1
scp /etc/munge/munge.key root@worker1:/etc/munge/
scp /etc/munge/munge.key root@worker2:/etc/munge/
scp /etc/slurm/slurm.conf root@worker1:/etc/slurm/
scp /etc/slurm/slurm.conf root@worker2:/etc/slurm/
(5)最后启动工作
启动顺序
主节点:
slurmctld -c
slurmd -c
两个计算节点slaver和slaver2分别执行
slurmd -c
查看集群状态并提交作业
提交作业,将作业分发给一个计算节点
在一个节点上启动两个任务数
至此,整个集群搭建成功!
- 基于虚拟机的slurm集群搭建
- docker下安装slurm集群搭建
- 基于虚拟机的spark集群开发环境的搭建
- 搭建Centos7的虚拟机集群
- 利用虚拟机的hadoop原生集群搭建
- 虚拟机搭建hadoop集群
- 虚拟机搭建beowulf集群
- 快速搭建虚拟机集群
- SLURM集群简介和部署
- 搭建基于heartbeat的高可用集群
- 基于centos6.5的集群搭建
- 基于Hadoop2.5.0的集群搭建
- Tomcat:基于Apache+Tomcat的集群搭建
- 基于Hadoop2.5.0的集群搭建
- 基于Apache的Apusic集群搭建
- 基于windows xp并行集群的搭建
- 基于MPI的Linux计算集群搭建
- 基于树莓派的Spark集群搭建
- 李飞飞最新研究成果!斯坦福正在用算法判断政治倾向
- 不再需要词典了,现在,AI通过无监督学习学会了双语翻译
- 那么多GAN哪个好?谷歌大脑泼来冷水:都和原版差不多 | 论文
- Building Web Services with Microsoft Azure.pdf 英文原版 免费下载
- 亚马逊全面发力AI,推机器学习托管服务、四项新工具,还有AI硬件
- 基于虚拟机的slurm集群搭建
- 【Android】强制停止RecyclerView滑动
- kettle--数据迁移
- virtualbox安装增强与设置共享目录
- MyBatis Generator 详解
- MySQL常用语句
- Vector中Insert()
- 图片的截屏
- 输入两个实数,交换后输出