当前位置: 首页 > 工具软件 > SLURM > 使用案例 >

centos下如何安装部署slurm集群

齐涛
2023-12-01

前面在浅谈Slurm作业调度系统_男孩李的博客-CSDN博客中我们对Slurm调度系统进行了简单的概述,在此,将重点介绍在centos下如何安装部署Slurm集群。

操作系统IP配置服务器
centos7.6192.168.1.1CPU:2GHz*2,内存:4GB,磁盘:17GB管理节点
centos7.6192.168.1.2CPU:2GHz*2,内存:4GB,磁盘:17GB计算节点

一、基础环境准备

1.1配置ssh无密码登录

配置主机A免密登录到主机B (方法一)    

(1)进入到我的home目录 cd ~/.ssh  

(2)ssh-keygen(四个回车),会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)  

(3)将公钥拷贝到要免登陆的机器上: ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.1

(方法二)  

(1)在主机A生产密钥对: ssh-keygen -t rsa, 会在.ssh目录下产生密钥文件  

(2)拷贝主机A的公钥到主机B:  scp /root/.ssh/id_rsa.pub B:/root/.ssh/    

(3)将主机A的公钥加到主机B的授权列表.ssh/authorized_keys(若不存在,手动创建): cat id_rsa.pub >> authorized_keys    

(4)授权列表authorized_keys的权限必须是600,chmod 600 authorized_keys

1.2配置NTP时间同步 

(1)集群中所有节点安装ntp,

yum install ntp    

(2)所有节点设置时区,这里设置为中国所用时间

timedatectl set-timezone Asia/Shanghai  

(3)在server节点上启动ntp服务   

  systemctl start ntpd     systemctl enable ntpd    

(4)在server节点上设置现在的准确时间   

 timedatectl set-time HH:MM:SS    

(5)在server节点上设置其ntp服务器为其自身,同时设置可以接受连接服务的客户端。修改/etc/ntp.conf,添加两行:restrict 127.0.0.1和server 127.127.1.0    

(6)重启ntpd服务     

systemctl restart ntpd    

(7)在client节点上设置ntp服务器为server节点。修改/etc/ntp.conf,添加一行:server ip地址(替换为server IP)    

(8)在client节点上同步server的时间,ntpdate ip地址(替换为server IP)    

(9)client节点启动ntpd服务  

   systemctl start ntpd     systemctl enable ntpd    

(10)所有节点启动时间同步

timedatectl set-ntp yes

1.3关闭防火墙

为了防止mysql以及slurm端口被防火墙阻断可以将端口添加防火墙例外也可以直接关闭防火墙,防火墙相关命令如下

开启防火墙命令

systemctl start firewalld.service

查看防火墙状态

systemctl status firewalld.service

关闭防火墙命令

systemctl stop firewalld.service

开机启动防火墙

systemctl enable firewalld.service

开机禁用防火墙

systemctl disable firewalld.service

1.4更新系统

yum update

二、安装配置Munge

2.1安装munge     

MUNGE (MUNGE Uid 'N' Gid Emporium)是一种用于创建和验证凭证的身份验证服务。它允许进程在一组具有公共用户和组的主机中验证另一个本地或远程进程的UID和GID。

yum install munge munge-libs munge-devel

2.2配置Munge

配置 Munge 密钥:使用以下命令生成 Munge 密钥并设置权限:

sudo /usr/sbin/create-munge-key
sudo chown munge: /etc/munge/munge.key
sudo chmod 400 /etc/munge/munge.key

2.3启动 Munge 服务

使用以下命令启动 Munge 服务并设置开机自启:

sudo systemctl start munge
sudo systemctl enable munge

三、安装Slurm

3.1下载安装

3.1下载 Slurm 软件包:

从 Slurm 官方网站Slurm Workload Manager - Download Slurm (schedmd.com) 

下载Slurm 软件包,并将其上传到目标节点上。

tar --bzip -x -f slurm*tar.bz2
cd slurm-*
./configure
make && make install

3.2安装pmi,pmi2

 进入slurm安装包目录下的contribs/pmi   

cd contribs/pmi
 
make&& make install     

 进入slurm安装包目录下的

cd contribs/pmi2     
make&& make install

3.3准备工作目录

 mkdir  /opt/slurm/etc  

 配置文件存放目录,默认为安装目录下的etc文件夹 

 mkdir  /opt/slurm/spool  

Slurm状态将在此目录保存,以从系统故障中恢复,默认路径为 "/var/spool/",此处新建是因为在slurm.conf文件中指定了该目录

 mkdir  /opt/slurm/log  

日志存放目录,默认目录为/var/log,此处新建是因为在slurm.conf文件中指定了该目录

四、Slurm的配置

在安装目录/opt/slurm/etc下,创建配置文件slurm.conf和slurmdbd.conf

关于Slurm有关的配置可以参考:

​​​​​​​​​​​​​​Slurm中集群配置文件之slurm.conf_slurm配置文件_男孩李的博客-CSDN博客

Slurm中集群配置文件之slurmdbd.conf_男孩李的博客-CSDN博客

Slurm中集群配置文件之slurm_node.conf_男孩李的博客-CSDN博客

Slurm Workload Manager - Quick Start Administrator Guide (schedmd.com)

或者修改源码etc目录下的slurm.conf.example和slurmdbd.conf.example

下一步,拷贝安装包etc目录下的service脚本到启动目录/usr/lib/systemd/system,并添加执行权限

启动服务

启动slurmdbd服务

systemctl restart slurmdbd.service

启动slurm调度服务     

systemctl restart slurmctld.service  
systemctl restart slurmd.service
 类似资料: