1.1.1 在Slurm适配器项目地址(https://github.com/PKUHPC/scow-slurm-adapter)中点击tag标签
# 下载go语言安装包,安装go(本文以1.22版本为例)
cd download/
wget https://golang.google.cn/dl/go1.22.0.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
# 在/etc/profile中设置环境变量
export GOROOT=/usr/local/go
export GOPATH=/usr/local/gopath
export PATH=$PATH:/$GOROOT/bin:$GOPATH/bin
# source环境变量
source /etc/profile
# 验证
go version
# 设置代理
go env -w GOPROXY=https://goproxy.cn,direct
# 开启go mod管理
go env -w GO111MODULE=on
[root@manage01]# cd /root # 将slurm适配器代码放在root目录下
[root@manage01]# git clone https://github.com/PKUHPC/scow-slurm-adapter.git #克隆代码
# 在代码根目录下执行make build生成二进制文件(scow-slurm-adapter-amd64)
[root@manage01 scow-slurm-adapter]# make build
CGO_BUILD=0 GOARCH=amd64 go build -o scow-slurm-adapter-amd64
[root@manage01 scow-slurm-adapter]# ls
buf.gen.yaml config docs gen go.mod go.sum main.go Makefile README.md scow-slurm-adapter-amd64 tests utils
# 将自己编译生成的二进制文件或者直接下载的二进制文件以及代码目录中config目录拷贝至需要部署适配器的slurm管理节点上的部署目录中
scp -r scow-slurm-adapter-amd64 config slurm_mn:/adapter
# slurm_mn 为需要部署适配器的slurm管理节点、/adapter目录slurm管理节点的部署目录
# 在slurm管理节点的部署目录/adapter中修改config目录下配置文件config.yaml的配置项
vim config/config.yaml
# slurm 数据库配置
mysql:
host: 127.0.0.1 # slurmdbd服务所在服务器的ip
port: 3306 # slurmdbd服务节点上数据库服务的端口
user: root # 访问slurmdbd节点数据库服务的用户名
dbname: slurm_acct_db # 指定slurm数据库的库名
password: 81SLURM@@rabGTjN7 # 访问slurmdbd节点数据库的密码
clustername: cluster # 指定slurm集群的名字
databaseencode: latin1 # 指定数据库客户端编码
# 服务端口设置
service:
addr: 0.0.0.0:8972 # 指定slurm适配器服务启动地址(地址和端口可根据需要修改)
# slurm 默认Qos设置
slurm:
defaultqos: normal # 指定slurm默认qos信息
# slurmpath: /nfs/apps/slurm # 若slurm是自定义安装路径则需要再此进行路径的配置
# module profile文件路径
modulepath:
path: /lustre/software/module/5.2.0/init/profile.sh # 指定module profile文件路径
注意:如果slurmdbd服务不在需要部署的slurm管理节点上,在config.yaml配置文件中指定数据库配置后,还需要在slurmdbd服务所在节点为访问数据库服务的用户授权(只读权限select)。
# slurm适配器二进制文件和config目录需在同一目录(部署目录)下
[root@slurm_mn]# ls /adapter
config scow-slurm-adapter-amd4
# 给二进制添加执行权限
# 在slurm管理节点上启动服务
[root@slurm_mn]# chmod +x /adapter/scow-slurm-adapter-amd64
# 在slurm管理节点上启动服务
[root@slurm_mn]# cd /adapter && nohup ./scow-slurm-adapter-amd64 > server.log 2>&1 & # 适配器启动后会在部署目录生成一个server.log的日志文件
# 在Slurm适配器部署服务器上运行下面命令
ps aux | grep [s]cow-slurm-adapter-amd64 # 如果有输出则Slurm适配器进程存活、无输出则Slurm适配器终止
# 在部署目录中查看server.log文件,分析日志信息
less /adapter/server.log
- 在slurm适配器github项目地址中下载最新的二进制文件(参考本文档1.1节的内容)
- 将下载的最新的二进制文件拷贝值需部署适配器的slurm管理节点
- 在slurm管理节点上停止Slurm适配器的运行
ps -ef | grep [s]cow-slurm-adapter-amd64 | awk '{print $2}' | xargs kill -9
- 在slurm管理节点的部署目录中修改config/config.yaml文件(详细参考2.2节信息)(config目录需和Slurm适配器二进制文件放在同一个目录下)
- 在Slurm管理节点上启动最新的Slurm适配器
nohup ./scow-slurm-adapter-amd64 > server.log 2>&1 &