Na conversa anterior sobre o sistema de agendamento de tarefas Slurm_boy Li's blog-CSDN blog, demos uma breve visão geral do sistema de agendamento Slurm. Aqui, vamos nos concentrar em como instalar e implantar o cluster Slurm no centos.
sistema operacional | IP | configuração | servidor |
centos7.6 | 192.168.1.1 | CPU: 2GHz*2, Memória: 4GB, Disco: 17GB | nó de gerenciamento |
centos7.6 | 192.168.1.2 | CPU: 2GHz*2, Memória: 4GB, Disco: 17GB | calcular nó |
1. Preparação básica do ambiente
1.1 Configurar login ssh sem senha
Configure o host A para fazer login no host B sem senha (método 1)
(1) Vá para meu diretório pessoal cd ~/.ssh
(2) ssh-keygen (quatro retornos de carro), irá gerar dois arquivos id_rsa (chave privada), id_rsa.pub (chave pública)
(3) Copie a chave pública para a máquina para evitar o login: ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
(Método Dois)
(1) Gere um par de chaves no host A: ssh-keygen -t rsa, um arquivo de chave será gerado no diretório .ssh
(2) Copie a chave pública do host A para o host B: scp /root/.ssh/id_rsa.pub B:/root/.ssh/
(3) Adicione a chave pública do host A à lista de autorização do host B. ssh/authorized_keys (se não existir, crie-a manualmente): cat id_rsa.pub >> authorized_keys
(4) A permissão da lista de autorização authorised_keys deve ser 600, chmod 600 authorized_keys
1.2 Configurar a sincronização de horário NTP
(1) Instale o ntp em todos os nós do cluster,
yum install ntp
(2) Todos os nós definem o fuso horário, aqui é definido para o horário usado na China
timedatectl set-timezone Asia/Shanghai
(3) Inicie o serviço ntp no nó do servidor
systemctl start ntpd systemctl enable ntpd
(4) Defina a hora exata atual no nó do servidor
timedatectl set-time HH:MM:SS
(5) Defina seu servidor ntp como ele mesmo no nó do servidor e defina um cliente que possa aceitar serviços de conexão ao mesmo tempo. Modifique /etc/ntp.conf, adicione duas linhas: restrinja 127.0.0.1 e servidor 127.127.1.0
(6) Reinicie o serviço ntpd
systemctl restart ntpd
(7) Defina o servidor ntp como o nó do servidor no nó cliente. Modifique /etc/ntp.conf, adicione uma linha: endereço IP do servidor (substitua pelo IP do servidor)
(8) Sincronize a hora do servidor no nó cliente, endereço IP ntpdate (substituído pelo IP do servidor)
(9) O nó cliente inicia o serviço ntpd
systemctl start ntpd systemctl enable ntpd
(10) Todos os nós iniciam a sincronização de tempo
timedatectl set-ntp yes
1.3 Desligue o firewall
Para evitar que as portas mysql e slurm sejam bloqueadas pelo firewall, você pode adicionar uma exceção de firewall à porta ou fechar o firewall diretamente. Os comandos relacionados ao firewall são os seguintes
habilitar o comando firewall
systemctl start firewalld.service
Ver status do firewall
systemctl status firewalld.service
desligar o comando firewall
systemctl stop firewalld.service
Iniciar o firewall na inicialização
systemctl enable firewalld.service
Desabilitar firewall na inicialização
systemctl disable firewalld.service
1.4 Sistema de atualização
yum update
2. Instale e configure o Munge
2.1 instalar munge
MUNGE (MUNGE Uid 'N' Gid Emporium) é um serviço de autenticação para criação e verificação de credenciais. Ele permite que um processo verifique o UID e GID de outro processo local ou remoto em um conjunto de hosts com um usuário e grupo comuns.
yum install munge munge-libs munge-devel
2.2 Configurar Munge
Configurar a chave Munge: Gere uma chave Munge e defina as permissões usando os seguintes comandos:
sudo /usr/sbin/create-munge-key
sudo chown munge: /etc/munge/munge.key
sudo chmod 400 /etc/munge/munge.key
2.3 Inicie o serviço Munge
Use os seguintes comandos para iniciar o serviço Munge e configurá-lo para iniciar automaticamente na inicialização:
sudo systemctl start munge
sudo systemctl enable munge
3. Instale o Slurm
3.1 Baixe e instale
3.1 Baixe o pacote Slurm:
Do site oficial do Slurm Slurm Workload Manager - Baixe o Slurm (schedmd.com)
Baixe o pacote Slurm e carregue-o no nó de destino.
tar --bzip -x -f slurm*tar.bz2
cd slurm-*
./configure
make && make install
3.2 Instalar pmi, pmi2
Insira contribs/pmi no diretório do pacote de instalação do slurm
cd contribs/pmi
make&& make install
Entre no diretório do pacote de instalação do slurm
cd contribs/pmi2
make&& make install
3.3 Preparar diretório de trabalho
mkdir /opt/slurm/etc
O diretório de armazenamento do arquivo de configuração, o padrão é a pasta etc no diretório de instalação
mkdir /opt/slurm/spool
O estado Slurm será salvo neste diretório para recuperação de falhas do sistema. O caminho padrão é "/var/spool/", que foi criado recentemente aqui porque este diretório é especificado no arquivo slurm.conf
mkdir /opt/slurm/log
O diretório de armazenamento de log, o diretório padrão é /var/log, que é criado aqui porque o diretório é especificado no arquivo slurm.conf
Quarto, a configuração do Slurm
No diretório de instalação /opt/slurm/etc, crie os arquivos de configuração slurm.conf e slurmdbd.conf
Para configuração relacionada ao Slurm, consulte:
slurmdbd.conf do arquivo de configuração do cluster no Slurm - programador procurado
slurm_node.conf do arquivo de configuração do cluster em Slurm - programador procurado
Slurm Workload Manager - Guia do administrador de início rápido (schedmd.com)
Ou modifique slurm.conf.example e slurmdbd.conf.example no diretório etc do código-fonte
Em seguida, copie o script de serviço no diretório etc do pacote de instalação para o diretório de inicialização /usr/lib/systemd/system e adicione permissões de execução
Começar serviço
Inicie o serviço slurmdbd
systemctl restart slurmdbd.service
Inicie o serviço de agendamento slurm
systemctl restart slurmctld.service
systemctl restart slurmd.service