munge和mariadb软件的安装

munge的简介

munge是主要功能是认证服务,在大规模高性能计算集群中,用于生成和验证证书。slurm官方推荐使用munge作为slurm作业调度系统的认证服务,用于主控节点和计算节点之间的认证通信。配置时分为服务端和用户端,其中服务端应作为slurm调度服务的主控节点,用于管理认证服务。

master节点的安装

  1. 确保master节点没有安装过 munge
    yum remove munge munge-libs munge-devel -y
    userdel -r munge
  2. 安装相关的软件
    # 安装 epel-release
    yum install -y epel-release
    # 安装 rpmbuild
    yum install -y rpm-build
  3. 因为munge安装后会自动创建munge用户,所以我们要提前创建munge用户,并且保证所有节点的munge用户的uid和gid相同
    export MUNGE_USER=2024
    groupadd -g $MUNGE_USER munge
    useradd -m -c "MUNGE User" -d /var/lib/munge -u $MUNGE_USER -g munge -s /sbin/nologin munge
  4. 前往官网下载最新的munge,我这里下载的是munge-0.5.16的版本,并上传,编译RPM包
    #安装相关依赖
    yum install -y bzip2-devel gcc openssl-devel zlib-devel
    #编译RPM包
    rpmbuild -tb --without verify munge-0.5.16.tar.xz
  5. 安装 munge
    cd /root/rpmbuild/RPMS/x86_64
    yum localinstall -y munge-0.5.16-1.el8.x86_64.rpm munge-libs-0.5.16-1.el8.x86_64.rpm munge-devel-0.5.16-1.el8.x86_64.rpm
    #复制到共享区,计算节点也需要安装
    mkdir /opt/munge_dir
    cp munge-0.5.16-1.el8.x86_64.rpm munge-libs-0.5.16-1.el8.x86_64.rpm munge-devel-0.5.16-1.el8.x86_64.rpm /opt/munge_dir
  6. 创建munge.key文件,生成的文件在 /etc/munge下
    # 产生munge.key文件
    sudo -u munge /usr/sbin/mungekey -v

  7. 修改相关文件和文件夹的所属权限
    chown munge: /etc/munge/munge.key 
    chmod 400 /etc/munge/munge.key
    chown -R munge: /var/lib/munge
    chown -R munge: /var/run/munge
    chown -R munge: /var/log/munge
  8. 启动服务并设置为开机自启
    systemctl start munge
    systemctl enable munge

计算节点的安装

  1. 确保计算节点没有安装过 munge
    yum remove munge munge-libs munge-devel -y
    userdel -r munge
  2. 安装相关的软件
    # 安装 epel-release
    yum install -y epel-release
    # 安装 rpmbuild
    yum install -y rpm-build
  3. 因为munge安装后会自动创建munge用户,所以我们要提前创建munge用户,并且保证所有节点的munge用户的uid和gid相同
    export MUNGE_USER=2024
    groupadd -g $MUNGE_USER munge
    useradd -m -c "MUNGE User" -d /var/lib/munge -u $MUNGE_USER -g munge -s /sbin/nologin munge
  4. 安装 munge
    cd /opt/munge_dir/
    yum localinstall munge-0.5.16-1.el8.x86_64.rpm munge-libs-0.5.16-1.el8.x86_64.rpm munge-devel-0.5.16-1.el8.x86_64.rpm
  5. 把master节点的munge.key 发送到计算节点
    scp /etc/munge/munge.key root@node1:/etc/munge/
  6. 设置相关权限
    chmod 700 /etc/munge
    chown -R munge: /etc/munge
    chown -R munge: /var/lib/munge
    chown -R munge: /var/run/munge
    chown -R munge: /var/log/munge
  7. 启动相关服务,并设置开机自动启动
    systemctl start munge
    systemctl enable munge

进行验证

# master节点输入
munge -n|unmunge


说明master节点的munge安装成功

# 服务节点输入
munge -n|ssh node1 unmunge


说明计算节点的munge安装成功

mariadb的简介

MariaDB Server 是一个通用的开源关系数据库管理系统。 它是世界上最受欢迎的数据库服务器之一,拥有包括 Wikipedia、WordPress.com 和 Google 在内的知名用户。 MariaDB Server 在 GPLv2 开源许可下发布,并保证保持开源。它可用于高可用性事务数据、分析、作为嵌入式服务器,并且广泛的工具和应用程序支持 MariaDB Server。

mariadb的安装

  1. 确保控制节点和计算节点都没有安装过mariadb
    yum list installed mariadb
    # 如果有就卸载
    yum -y remove mariadb*
  2. 前往mariadb的官网,获取相应版本的yum源,并复制。我这里用的是10.11版本,使用的是阿里源。
  3. 添加 yum 源
    vi /etc/yum.repos.d/mariadb.repo
    #添加相应的yum源,添加
    # MariaDB 10.11 RedHatEnterpriseLinux repository list - created 2024-03-31 06:10 UTC
    # https://mariadb.org/download/
    [mariadb]
    name = MariaDB
    # rpm.mariadb.org is a dynamic mirror if your preferred mirror goes offline. See https://mariadb.org/mirrorbits/ for details.
    # baseurl = https://rpm.mariadb.org/10.11/rhel/$releasever/$basearch
    baseurl = https://mirrors.aliyun.com/mariadb/yum/10.11/rhel/$releasever/$basearch
    module_hotfixes = 1
    # gpgkey = https://rpm.mariadb.org/RPM-GPG-KEY-MariaDB
    gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
    gpgcheck = 1
    #执行
    yum clean all && yum makecache
    # 发送到计算节点
    scp /etc/yum.repos.d/mariadb.repo node1:/etc/yum.repos.d/
    #在计算节点执行
    yum clean all && yum makecache
    #yum clean all 的主要作用是清除所有已下载软件包和元数据(metadata)以及临时文件的缓存
    #yum makecache的作用是将服务器上的软件包信息缓存到本地,以提高搜索和安装软件的速度
  4. master节点安装
    yum install -y mariadb mariadb-server mariadb-devel MariaDB-backup
  5. 计算节点安装
    yum install -y  MariaDB-common  MariaDB-compat  libyaml
  6. master 节点配置
    #启动数据库,并开机自动启动
    systemctl enable --now mariadb
    mariadb-secure-installation
    #配置数据库
    Enter current password for root (enter for none): 回车
    Switch to unix_socket authentication [Y/n] n
    Change the root password? [Y/n] y
    New password:
    Remove anonymous users? [Y/n] 回车
    Disallow root login remotely? [Y/n] n
    Remove test database and access to it? [Y/n] 回车
    Reload privilege tables now? [Y/n] 回车
    #配置数据库
    mysql -u root -p
    # 创建一个新用户slurm,密码是123456,并指定使用localhost本地权限.
    create user 'slurm'@'localhost' identified by '123456';

    # 生成slurm用户,其密码是123456,可自行设定,并开启%远程登录
    create user 'slurm'@'%' identified by '123456';

    # 生成账户数据库slurm_acct_db
    create database slurm_acct_db;

    # 赋予slurm从本机localhost采用密码123456登录具备操作slurm_acct_db数据下所有表的全部权限
    grant all on slurm_acct_db.* TO 'slurm'@'localhost' identified by '123456' with grant option;

    # 创建slurm用户并给予%远程登陆的权限,并对slurm_acct_db数据库全部授权
    grant all on slurm_acct_db.* TO 'slurm'@'%' identified by '123456' with grant option;

    # 生成作业信息数据库slurm_jobcomp_db
    create database slurm_jobcomp_db;

    # 赋予slurm从本机localhost采用密码123456登录具备操作slurm_jobcomp_db数据下所有表的全部权限
    grant all on slurm_jobcomp_db.* TO 'slurm'@'localhost' identified by '123456' with grant option;

    # 创建slurm用户并给予%远程登陆的权限,并对slurm_jobcomp_db数据库全部授权
    grant all on slurm_jobcomp_db.* TO 'slurm'@'%' identified by '123456' with grant option;

    ##保存配置
    flush privileges;

    ##退出
    exit;
  7. 可以修改数据库的配置文件 /etc/my.cnf 。我这里就不修改了。

参考