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: 23.186 ]

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

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

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

A essência de ser Livre

Leitura recomendada

Instalando o aMSN com suporte a webcam

Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg

Utilizando ferramentas de virtualização para testar distros

O futuro e o Linux

Integrando o Mercury e o XMMS

  
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