Computação Distribuída com TORQUE Resource Manager

O TORQUE Resource Manager fornece controle sobre trabalhos de grupo e recursos de computação distribuída. É um produto Open Source avançado, baseado no projeto original PBS e incorpora o melhor da comunidade e do desenvolvimento profissional. Ele está atualmente em uso em dezenas de milhares de aplicações governamentais, acadêmicas e sites comerciais em todo o mundo.

[ Hits: 24.545 ]

Por: Juno Kim em 28/08/2013 | Blog: http://www.kim.eti.br


Instalação e configuração - I



Instalação e configuração do nó mestre (pbs_server) e dos demais computadores (nodes) - Parte 1

Para a nossa aplicação, temos o seguinte ambiente:

Servidor:
  • Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10 GHz QuadCore
  • 16 GB RAM
  • Debian Wheezy
Nós (02 computadores iguais):
  • Intel(R) Core(TM) i7-3770 CPU @ 3.40 GHz OctaCore
  • 16 GB RAM
  • Debian Squeeze

Todas as máquinas estão na mesma rede. Vamos iniciar as configurações.

Instalação PBS Torque

(i) Resolvendo as dependências dos pacotes:

Debian:

# apt-get update
# apt-get install make libtool git gcc++ libxml2 libxml2-dev


RHEL e CentOS:

# yum update
# yum install libxml2-devel openssl-devel gcc gcc-c++


Vamos fazer o download do arquivo tarball, para isso, acesse:

Copie o link e faça o Wget no servidor em sua área de instalação, conforme a figura abaixo:

No TORQUE, existem várias opções de configuração, porém, por padrão, o TORQUE não instala o syslog. Para instalá-lo, use --enable-syslog.

Instalando:

# ./configure --enable-syslog


Após a compilação, observe que foi criado o diretório "/var/spool/torque", que é o diretório padrão na variável TORQUE_HOME.

Agora execute o comando: make

Faça o: make install

trqauthd

O trqauthd é um daemon usado pelo TORQUE client utilities para autorizar conexões de usuários para o pbs_server. Uma vez iniciado, ele permanece residente.

Utilitários de cliente do TORQUE se comunicam com trqauthd na porta 15005 e na interface loopback. Ele é multi-threaded e pode lidar com grandes volumes de pedidos simultâneos.

Executando o trqauth

O trqauthd deve ser executado como root. Ele também pode ser executado em qualquer máquina onde os comandos do cliente TORQUE estiverem instalados.

Por padrão, trqauthd é instalado em "/usr/local/bin".

O trqauthd pode ser chamado diretamente a partir da linha de comando, ou através da utilização de scripts "init.d", que estão localizados no diretório "contrib/init.d" dos fontes do TORQUE.

Há três scripts de inicialização "init.d" para trqauthd no diretório "contrib/init.d" da árvore fonte do TORQUE:

|      Script            |  Descrição
-------------------------------------------------------
| debian.trqauthd  |  Usado para sistemas baseados em APT (Debian, Ubuntu são as variações mais comuns)
| suse.trqauthd     |  Usado para os sistemas baseados em RPM (Red Hat, SUSE, Scientific Linux, CentOS, Fedora são alguns exemplos comuns)
| trqauthd             |  Um exemplo para outros gerenciadores de pacotes (qualquer coisa que não usar rpm ou apt)

Obs.: você deve revisar esses scripts para ter certeza de que vai funcionar corretamente.

Agora, "mãos à obra". Vamos colocar o daemon para executar automaticamente:

Para distribuições Debian, execute:

# cp contrib/init.d/debian.trqauthd /etc/init.d/trqauthd

Para distribuições RHEL, execute:

# cp contrib/init.d/trqauthd /etc/init.d/

Colocando para iniciar automaticamente:

Debian:

# update-rc.d trqauthd defaults

RHEL e CentOS:

# chkconfig --add trqauthd

Copiando os arquivos de configuração:

# echo /usr/local/lib > /etc/ld.so.conf.d/torque.conf

Atualizando o cache de bibliotecas e criando os links simbólicos necessários:

# ldconfig

Iniciando o serviço:

# service trqauthd start

Fazer o mesmo procedimento para as máquinas nós.

Firewall

Verifique que as seguintes portas devem estar liberadas, elas são essenciais para a comunicação entre as máquinas:

Portas a serem liberadas em seu firewall:
  • Para a comunicação dos clientes: TCP-UDP/ 1024:65534
  • Para o pbs_server comunicar-se com o pbs_mon: TCP-UDP/15003
  • Para o pbs_mon comunicar-se com o pbs_server: TCP-UDP/15001

Instalando os nós

Vamos usar o sistema "tpackages" da Adaptive Computing para criar os pacotes de instalação "tarballs" para a distribuição e instalação dos computadores nós do cluster. Os pacotes são customizáveis. Leia o arquivo INSTALL para maiores informações de opção e recursos.

1. Criando o tpackages:

Ainda no nó mestre (servidor), execute normalmente o comando make packages, como mostra a figura abaixo:

# make packages


Copie os pacotes desejados para um compartilhamento na rede acessível:

# cp torque-package-mom-linux-i686.sh /shared/storage/
# cp torque-package-clients-linux-i686.sh /shared/storage/


2. Instalando os pacotes nos computadores nós:

Executes esses scripts, como root:

# sh torque-package-mom-linux-i686.sh
# sh torque-package-clients-linux-i686.sh


Vamos para a próxima etapa!

Página anterior     Próxima página

Páginas do artigo
   1. O que é o TORQUE?
   2. Instalação e configuração - I
   3. Instalação e configuração - II
   4. Testes dos cluster
   5. Revisão
Outros artigos deste autor

A essência de ser Livre

Computação Distribuída com TORQUE Resource Manager - Parte 2

Configurando o proftpd com autenticação de usuário pelo passwd

Leitura recomendada

Gerenciamento de pacotes no Slackware Linux

Jopen, não se preocupe mais em descobrir qual aplicativo usar

Faça um incrível espetáculo de efeitos visuais com vídeo em tempo real

Udev - Funcionamento e Regras

A arte e a prática da Disciplina a longo prazo

  
Comentários
[1] Comentário enviado por leodamasceno em 28/08/2013 - 13:45h

Muito interessante. Tenho total interesse em testar essa ferramenta. Parabens pelo artigo.

[2] Comentário enviado por edul0pes em 29/08/2013 - 15:56h

Parabéns pelo artigo.

[3] Comentário enviado por gnumoksha em 02/09/2013 - 13:41h

Interessante. Obrigado pelo artigo.

Em tempo, por que tanta memoria swap?

[4] Comentário enviado por juno em 02/09/2013 - 17:12h

Olá amigo tobiasgnu,
O motivo de ter a memória extensa é para precaver os nós de travarem pois rodamos um programa de reconhecimento de fala que ocupa 100% da memória física em quanto carrega.


[5] Comentário enviado por fabiofima em 08/04/2016 - 13:30h

Olá, primeiramente, obrigado pelo tutorial, como sempre desse site, muito bem explicado e didático.
Instalei o toque no nosso cluster aqui, tal contendo 1 head node e 6 slaves. A instalação e configuração deu tudo certo, o pbsnodes -a mostra corretamente os nodos, em estado "free". Se submeto um submitionfile.sh com um comando básico, como por exemplo wget ou uma sequencia de locates, ele consegue escalonar o job, executa, ficando em R no qstat até acabar e finaliza... Mas quando submeto uma execução de um software que usamos aqui chamado Gromacs, que tem instalado em todos os slave nodes, ele vai para estado E e C no qstat, sem deixar nenhum log, erro, output, nada... Nem no "Torque/serv_logs"... Se executo o mesmo comando, localmente no nodo, sem usar o torque, ele executa e fica correto como precisava ser.
Alguém poderia me ajudar? Não forneci mais informações porque não sei nem achar qual é o erro.
Obrigado desde já!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts