{"id":2610,"date":"2015-03-14T23:18:08","date_gmt":"2015-03-15T02:18:08","guid":{"rendered":"http:\/\/www.viazap.com.br\/?p=2610"},"modified":"2015-03-14T23:18:08","modified_gmt":"2015-03-15T02:18:08","slug":"montagem-de-cluster-beowulf","status":"publish","type":"post","link":"https:\/\/blog.clusterweb.com.br\/?p=2610","title":{"rendered":"MONTAGEM DE CLUSTER BEOWULF"},"content":{"rendered":"<p>O QUE \u00c9 CLUSTER<\/p>\n<p>Um Cluster \u00e9 formado por um conjunto de computadores interligados atrav\u00e9s de uma rede, as m\u00e1quinas membros deste cluster s\u00e3o denominadas n\u00f3 ou node. \u00c9 importante utilizar uma infraestrutura de rede que facilite a inclus\u00e3o, altera\u00e7\u00e3o e exclus\u00e3o de m\u00e1quinas.<\/p>\n<p>Na maioria das vezes o cluster \u00e9 formado por computadores convencionais e se apresenta de forma transparente ao usu\u00e1rio, como sendo um \u00fanico computador de grande porte. \u00c9 v\u00e1lido frisar que \u00e9 poss\u00edvel a utiliza\u00e7\u00e3o de m\u00e1quinas mais robustas para constru\u00e7\u00e3o de clusters.<\/p>\n<p>N\u00e3o \u00e9 necess\u00e1rio que as m\u00e1quinas sejam id\u00eanticas, mas sim o Sistema Operacional, para que os softwares que gerenciam as trocas de mensagens e sincronismo dos dados funcionem de forma correta.<\/p>\n<p>De acordo com Zem (2005), existem hoje alguns tipos de cluster, mas alguns se destacam pela aplica\u00e7\u00e3o e custo benef\u00edcio:<br \/>\nCluster de Alto Desempenho: denominado, tamb\u00e9m, de Alta Performance (High Performance Computing &#8211; HPC), sua caracter\u00edstica \u00e9 o grande volume de processamento de dados em computadores convencionais, que garante baixo custo na constru\u00e7\u00e3o, e com processamento na ordem de gigaflops. Os servidores deste cluster trabalham com a tecnologia de paralelismo, dividindo o processamento com as outras m\u00e1quinas, buscando a otimiza\u00e7\u00e3o e desempenho de um supercomputador.<br \/>\nCluster de Alta Disponibilidade (High Availability &#8211; HA): s\u00e3o caracterizados por se manterem em pleno funcionamento por um longo per\u00edodo de tempo, utilizando redund\u00e2ncia para manter um servi\u00e7o ativo e se proteger de falhas, geralmente s\u00e3o computadores convencionais que disponibilizam o mesmo recurso em todas as m\u00e1quinas da rede, configuradas com prioridades diferentes, onde existe um servidor ativo e os outros ociosos.<br \/>\nCluster de Balanceamento de Carga (Horizontal Scaling &#8211; HS): s\u00e3o caracterizados por dividirem, de forma equilibrada, as tarefas entre os membros do cluster, onde cada n\u00f3 atenda a uma requisi\u00e7\u00e3o e n\u00e3o, necessariamente, que divida uma tarefa com outras m\u00e1quinas.<!--more--><\/p>\n<p>\u00c9 importante salientar que \u00e9 poss\u00edvel a combina\u00e7\u00e3o de mais de uma metodologia de constru\u00e7\u00e3o de clusters, onde uma implementa\u00e7\u00e3o de Alta Disponibilidade para garantir acesso aos servi\u00e7os de vendas online, possa ser incrementada com a utiliza\u00e7\u00e3o de um cluster de Balanceamento de Carga para atender o aumento nos acessos ao servi\u00e7o.<\/p>\n<p>As caracter\u00edsticas marcantes dos clusters, s\u00e3o a facilidade de gerenciamento dos n\u00f3s, onde podemos adicionar, dar manuten\u00e7\u00e3o e remover um n\u00f3 do cluster sem que afete seu funcionamento, recupera\u00e7\u00e3o de falhas de forma otimizada.<\/p>\n<p>Podemos obter resultados t\u00e3o satisfat\u00f3rios no uso de um cluster, quanto em servidores sofisticados com um custo muito menor. A implementa\u00e7\u00e3o pode ser utilizada para aplica\u00e7\u00f5es sofisticadas e, tamb\u00e9m, para aplica\u00e7\u00f5es dom\u00e9sticas.<\/p>\n<p>MONTAGEM DO CLUSTER<\/p>\n<p>A implementa\u00e7\u00e3o do cluster foi realizada, inicialmente, em m\u00e1quinas virtuais, para testes, visando f\u00e1cil locomo\u00e7\u00e3o, ambiente f\u00edsico reduzido e clonagem dos n\u00f3s \u00e9 feita de forma r\u00e1pida e confi\u00e1vel.<\/p>\n<p>A m\u00e1quina f\u00edsica hospedeira das virtuais utiliza processador Intel i3, com 4 GB de mem\u00f3ria RAM e HD de 1 TB, cada m\u00e1quina virtual possui 512 MB de mem\u00f3ria RAM, HD de 8 GB e 02 placas de rede, as configura\u00e7\u00f5es das m\u00e1quinas s\u00e3o mostradas abaixo:<br \/>\nM\u00e1quina 01: Debian 7.1, hostname Servidor, IP eth0 10.0.2.15\/24 (recebido via DHCP da m\u00e1quina hospedeira que faz o NAT para acesso a internet) IP eth1192.168.0.1\/24 (rede interna), dom\u00ednio: dominio.com.br.<br \/>\nM\u00e1quina 02: Debian 7.1, hostname bw2, IP eth0 10.0.2.15\/24 (recebido via DHCP da m\u00e1quina hospedeira que faz o NAT para acesso a internet) IP eth1192.168.0.2\/24 (rede interna), dom\u00ednio: dominio.com.br.<br \/>\nM\u00e1quina 03: Debian 7.1, hostname bw3, IP eth0 10.0.2.15\/24 (recebido via DHCP da m\u00e1quina hospedeira que faz o NAT para acesso a internet) IP eth1192.168.0.3\/24 (rede interna), dom\u00ednio: dominio.com.br.<br \/>\nM\u00e1quina 04: Debian 7.1, hostname bw4, IP eth0 10.0.2.15\/24 (recebido via DHCP da m\u00e1quina hospedeira que faz o NAT para acesso a internet) IP eth1192.168.0.3\/24 (rede interna), dom\u00ednio: dominio.com.br.<\/p>\n<p>Os ajustes realizados nos n\u00f3s foram feitos em apenas um n\u00f3 e copiados via SSH para os outros n\u00f3s, garantindo a n\u00e3o ocorr\u00eancia erros de configura\u00e7\u00f5es diferentes. Atualiza\u00e7\u00e3o de reposit\u00f3rios de pacotes no arquivos &#8220;sources.list&#8221; e atualiza\u00e7\u00e3o com o comando:<\/p>\n<p># aptitude update &amp;&amp; aptitude -y dist-upgrade<\/p>\n<p>Nome de m\u00e1quina: servidor, bw2, bw3 e bw4.<\/p>\n<p>Abaixo, segue os &#8220;sources.list&#8221; utilizados nos sistemas. S\u00e3o arquivos b\u00e1sicos, uma vez que somente o servidor est\u00e1 com a parte gr\u00e1fica e os n\u00f3s est\u00e3o sem a parte gr\u00e1fica.<\/p>\n<p>Arquivo &#8220;sources.list&#8221; servidor:<\/p>\n<p>#<br \/>\n# deb cdrom:[Debian GNU\/Linux 7.1.0 _Wheezy_ &#8211; Official amd64 CD Binary-1 20130615-23:06]\/ wheezy main<br \/>\n#deb cdrom:[Debian GNU\/Linux 7.1.0 _Wheezy_ &#8211; Official amd64 CD Binary-1 20130615-23:06]\/ wheezy main<\/p>\n<p>deb http:\/\/ftp.br.debian.org\/debian\/ wheezy main contrib non-free<br \/>\ndeb-src http:\/\/ftp.br.debian.org\/debian\/ wheezy main contrib non-free<\/p>\n<p>deb http:\/\/security.debian.org\/ wheezy\/updates main contrib non-free<br \/>\ndeb-src http:\/\/security.debian.org\/ wheezy\/updates main contrib non-free<\/p>\n<p># wheezy-updates, previously known as &#8216;volatile&#8217;<br \/>\ndeb http:\/\/ftp.br.debian.org\/debian\/ wheezy-updates main contrib non-free<br \/>\ndeb-src http:\/\/ftp.br.debian.org\/debian\/ wheezy-updates main contrib non-free<\/p>\n<p>deb http:\/\/mirrors.kernel.org\/debian\/ wheezy-updates main contrib non-free<br \/>\ndeb-src http:\/\/mirrors.kernel.org\/debian\/ wheezy-updates main contrib non-free<\/p>\n<p>deb http:\/\/ftp.debian.org\/debian\/ wheezy-updates main contrib non-free<br \/>\ndeb-src http:\/\/ftp.debian.org\/debian\/ wheezy-updates main contrib non-free<\/p>\n<p>CONFIGURA\u00c7\u00c3O<\/p>\n<p>1. Preparando o sistema (servidor e n\u00f3s):<\/p>\n<p># apt-get update<br \/>\n# aptitude safe-upgrade<\/p>\n<p>2. Instalando e atualizando pacotes (servidor e n\u00f3s) &#8211; (na d\u00favida, fa\u00e7a cada pacote separado):<\/p>\n<p># aptitude install build-essential module-init-tools kernel-package initramfs-tools<br \/>\n# aptitude install autoconf libaal-dev wget liblzo2-dev gzip libncurses5 libncurses5-dev dpatch udev<br \/>\n# aptitude install openjdk-7-jre # Somente se for trabalhar com Java &#8211; servidor e n\u00f3s<\/p>\n<p>4. Instalando mais pacotes necess\u00e1rios (servidor e n\u00f3s):<\/p>\n<p># apt-get update<br \/>\n# apt-get install -y gfortran-*<\/p>\n<p>* Tem que ser o apt-get, ser\u00e3o 500mb aproximadamente.<\/p>\n<p>Reiniciar:<\/p>\n<p># shutdown -r now<\/p>\n<p>5. Alterando os arquivos necess\u00e1rios (servidor e n\u00f3s):<\/p>\n<p># ifconfig<br \/>\n# nano \/etc\/network\/interfaces<\/p>\n<p>allow hotplug eth1<br \/>\niface eth1 inet static<br \/>\naddress 192.168.0.1<br \/>\nnetmask 255.255.255.0<br \/>\nnetwork 192.168.0.0<br \/>\nbroadcast 192.168.0.255<\/p>\n<p>O arquivo interfaces acima deve ser configurado em todos os n\u00f3s, a configura\u00e7\u00e3o acima \u00e9 do Servidor. O Arquivo &#8220;hosts&#8221; deve ser igual em todos os n\u00f3s:<\/p>\n<p># nano \/etc\/hosts<\/p>\n<p>127.0.0.1 localhost<br \/>\n192.168.0.1 servidor.dominio.com.br servidor<br \/>\n192.168.0.2 bw2.dominio.com.br bw2<br \/>\n192.168.0.3 bw3.dominio.com.br bw3<br \/>\n192.168.0.4 bw4.dominio.com.br bw4<\/p>\n<p>O arquivo &#8220;hosts.equiv&#8221; deve ser igual em todos os n\u00f3s:<\/p>\n<p># nano \/etc\/hosts.equiv<\/p>\n<p>servidor<br \/>\nbw2<br \/>\nbw3<br \/>\nbw4<\/p>\n<p>O arquivo &#8220;\/home\/.rhosts&#8221; deve ser igual em todos os n\u00f3s:<\/p>\n<p># nano \/home\/.rhosts<\/p>\n<p>servidor<br \/>\nbw2<br \/>\nbw3<br \/>\nbw4<\/p>\n<p>O arquivo \/root\/.rhosts, deve ser o mesmo em todas as m\u00e1quinas do cluster:<\/p>\n<p># nano \/root\/.rhosts<\/p>\n<p>servidor<br \/>\nbw2<br \/>\nbw3<br \/>\nbw4<\/p>\n<p># nano \/etc\/securetty<\/p>\n<p>No arquivo securetty, somente acrescente as linhas:<\/p>\n<p>console<br \/>\nrsh<br \/>\nssh<\/p>\n<p>O arquivo \/opt\/hostfile deve ser o mesmo em todas as m\u00e1quinas do cluster:<\/p>\n<p># nano \/opt\/hostfile<\/p>\n<p>servidor<br \/>\nbw2<br \/>\nbw3<br \/>\nbw4<\/p>\n<p>SERVIDOR SSH<\/p>\n<p>Servidor e n\u00f3s:<\/p>\n<p># aptitude install -y ssh openssh-server<\/p>\n<p>No servidor, gerando a chave com 1024 bits:<\/p>\n<p># ssh-keygen -b 1024 -t rsa<\/p>\n<p>Copiando a chave, comando (troque os IPs dos n\u00f3s):<\/p>\n<p># ssh-copy-id -i \/root\/.ssh\/id_rsa.pub root@192.168.0.X<\/p>\n<p>Para testar, na primeira vez, dever\u00e1 pedir a senha, digite a senha:<\/p>\n<p># ssh 192.168.0.2 -n &#8216;echo $SHELL&#8217;<\/p>\n<p>Dever\u00e1 aparecer: \/bin\/bash<\/p>\n<p>Teste todos os IPs do cluster. Em caso de erro, primeiro reinicie a m\u00e1quina e apague todo o conte\u00fado do arquivo:<\/p>\n<p># nano \/root\/.ssh\/known_hosts<\/p>\n<p>Depois, ao acessar um n\u00f3:<\/p>\n<p># ssh no01<\/p>\n<p>Aparece uma mensagem: Are you sure you want to continue&#8230;<\/p>\n<p>Digite &#8220;yes&#8221;. Ir\u00e1 pedir a senha, digite e, na pr\u00f3xima vez, n\u00e3o pedir\u00e1 mais senha.<\/p>\n<p>INSTALA\u00c7\u00d5ES DE PACOTES, MONTAGEM E MONITORAMENTO<\/p>\n<p>Instalando PVFS2 (servidor e n\u00f3s)<\/p>\n<p>Parallel Virtual File System, \u00e9 um sistema de arquivos concebido para proporcionar alto desempenho para aplica\u00e7\u00f5es paralelas. Nos n\u00f3s e no servidor, instalando as bibliotecas:<\/p>\n<p># apt-get install libdb5.1 libdb5.1-dev<\/p>\n<p>Ap\u00f3s isso, fa\u00e7a os passos para instalar o PVFS:<\/p>\n<p># cd \/usr\/src<br \/>\n# wget ftp:\/\/ftp.parl.clemson.edu\/pub\/pvfs2\/pvfs-2.8.2.tar.gz<\/p>\n<p># mkdir \/opt\/mpich<br \/>\n# mkdir \/opt\/pvfs2<br \/>\n# tar -xzvf pvfs-2.8.2.tar.gz<br \/>\n# cd pvfs-2.8.2<br \/>\n# .\/configure<\/p>\n<p>Deve terminar sem erros, com a linha: PVFS2 version string: 2.8.2<\/p>\n<p># make<\/p>\n<p>Dever\u00e1 terminar com a \u00faltima linha: GENCONFIG examples\/fs.conf<\/p>\n<p># make install<\/p>\n<p>Acrescentar no arquivo (servidor e n\u00f3s):<\/p>\n<p># nano \/etc\/fstab<\/p>\n<p>tcp:\/\/servidor(ou no0X):3334\/pvfs2-fs \/mnt\/pvfs2 pvfs2 defaults,noauto 0 0<\/p>\n<p># mkdir \/mnt\/pvfs2<\/p>\n<p>Nos n\u00f3s, remover MTA para n\u00e3o atrasar a inicializa\u00e7\u00e3o:<\/p>\n<p># update-rc.d -f exim4 remove<\/p>\n<p>Configurando a vari\u00e1vel de ambiente, entrar no arquivo:<\/p>\n<p># nano ~\/.bashcrc<\/p>\n<p>E acrescentar no final:<\/p>\n<p>LD_LIBRARY_PATH=\/opt\/pvfs2\/lib:$LD_LIBRARY_PATH<br \/>\nexport LD_LIBRARY_PATH<\/p>\n<p>Salvar e sair. Reiniciar:<\/p>\n<p># reboot<\/p>\n<p>Executar no servidor:<\/p>\n<p># \/opt\/pvfs2\/bin\/pvfs2-genconfig \/etc\/pvfs2-fs.conf<\/p>\n<p>Criando um novo storage e preparando para iniciar pela primeira vez:<\/p>\n<p># \/opt\/pvfs2\/sbin\/pvfs2-server \/etc\/pvfs2-fs.conf -f<\/p>\n<p>Deve retornar:<\/p>\n<p>\/opt\/pvfs2\/sbin\/pvfs2-server \/etc\/pvfs2-fs.conf -f<br \/>\n[S 09\/15 15:50] PVFS2 Server on node servidor version 2.8.2 starting&#8230;<br \/>\n[D 09\/13 15:50] PVFS2 Server: storage space created. Exiting.<\/p>\n<p>Iniciando:<\/p>\n<p># \/opt\/pvfs2\/sbin\/pvfs2-server \/etc\/pvfs2-fs.conf<br \/>\n[S 09\/09 15:55] PVFS2 Server on node servidor version 2.8.2 starting&#8230;<\/p>\n<p>Copiando para os n\u00f3s &#8220;pvfs2-fs.conf&#8221; para os n\u00f3s:<\/p>\n<p># scp \/etc\/pvfs2-fs.conf 192.168.1.X:\/etc\/<\/p>\n<p>Ainda no servidor:<\/p>\n<p># \/opt\/pvfs2\/sbin\/pvfs2-server \/etc\/pvfs2-fs.conf<\/p>\n<p>Testando:<\/p>\n<p># \/opt\/pvfs2\/bin\/pvfs2-ping -m \/mnt\/pvfs2<\/p>\n<p>SERVIDOR NFS<\/p>\n<p>O NFS faz o compartilhamento e sincroniza\u00e7\u00e3o de diret\u00f3rios e arquivos no cluster. Iniciando a instala\u00e7\u00e3o do NFS:<\/p>\n<p># cd \/home\/Usuario<\/p>\n<p>No servidor:<\/p>\n<p># apt-get install portmap<br \/>\n# apt-get install nfs-common<br \/>\n# apt-get install nfs-kernel-server<br \/>\n# apt-get install nfs-user-server<\/p>\n<p>Entre no arquivo:<\/p>\n<p># nano \/etc\/exports<\/p>\n<p>Coloque o conte\u00fado no final:<\/p>\n<p>\/home\/Usuario 192.168.1.0\/24(rw,all_squash,subtree_check,anonuid=150,anongid=100)<br \/>\n\/opt 192.168.1.0\/24(rw,all_squash,subtree_check)<br \/>\n\/usr\/local 192.168.1.0\/24(rw,all_squash,subtree_check)<\/p>\n<p>Atualizando o kernel com as mudan\u00e7as no arquivo \/etc\/exports:<\/p>\n<p># exportfs -a<\/p>\n<p>Reinicie o servi\u00e7o:<\/p>\n<p># service nfs-kernel-server restart<\/p>\n<p>Nos n\u00f3s, entre no arquivo \/etc\/fstab:<\/p>\n<p># nano \/etc\/fstab<\/p>\n<p>Adicione no final:<\/p>\n<p>192.168.1.6:\/home\/Usuario \/home\/Usuario nfs defaults 0 0<br \/>\n192.168.1.6:\/opt \/opt nfs defaults 0 0<br \/>\n192.168.1.6:\/usr\/local \/usr\/local nfs defaults 0 0<\/p>\n<p>MPICH<\/p>\n<p>Message Passing Interface \u00e9 uma Interface de Passagem de Mensagens. Essa \u00e9 a biblioteca que transforma um conjunto de m\u00e1quinas em um Cluster. Servidor e n\u00f3s (ORANGEFS j\u00e1 est\u00e1 tr\u00e1s tudo embutido como PVFS, MPICH2 e MPI-IO (ROMIO)):<\/p>\n<p># cd \/usr\/src<br \/>\n# wget http:\/\/orangefs.org\/downloads\/LATEST\/source\/orangefs-2.9.1.tar.gz<\/p>\n<p># tar -xzvf orangefs-2.9.1.tar.gz<br \/>\n# cd orangefs-2.9.1.tar.gz<br \/>\n# .\/configure<\/p>\n<p>Se n\u00e3o tiver erros, terminar\u00e1 com: Configuration completed<\/p>\n<p># make<br \/>\n# make install<br \/>\n# wget http:\/\/ftp.de.debian.org\/debian\/pool\/main\/l\/lam\/lam_7.1.4.orig.tar.gz<\/p>\n<p># tar -xzvf lam_7.1.4.orig.tar.gz<br \/>\n# cd lam-7.1.4<br \/>\n# .\/configure<\/p>\n<p>Se n\u00e3o tiver erros, terminar\u00e1 com: Configuration completed<\/p>\n<p># make<br \/>\n# make install<br \/>\n# wget http:\/\/www.mpich.org\/static\/downloads\/3.0.4\/mpich-3.0.4.tar.gz<\/p>\n<p># tar -xzvf mpich-3.0.4.tar.gz<br \/>\n# cd mpich-3.0.4<br \/>\n# .\/configure<\/p>\n<p>Se n\u00e3o tiver erros, terminar\u00e1 com: Configuration completed<\/p>\n<p># make<br \/>\n# make install<\/p>\n<p>Configurando as vari\u00e1veis:<\/p>\n<p># nano ~\/.bashrc<\/p>\n<p>PATH=\/opt\/mpich\/bin:$PATH<br \/>\nexport PATH<\/p>\n<p>LD_LIBRARY_PATH=\/opt\/mpich\/lib:\/opt\/pvfs2\/lib:$LD_LIBRARY_PATH<br \/>\nexport LD_LIBRARY_PATH<br \/>\n\/opt\/mpich\/lib<\/p>\n<p>O arquivo &#8220;bashrc&#8221; deve ser copiado para todos os n\u00f3s. Reinicie:<\/p>\n<p># reboot<\/p>\n<p>Ver as informa\u00e7\u00f5es:<\/p>\n<p># mpiexec -info<\/p>\n<p>Vamos testar nossa instala\u00e7\u00e3o, compilando e executando:<\/p>\n<p># cd \/usr\/src\/mpich-3.0.4\/examples<br \/>\n# mpicc -o cpi cpi.c<\/p>\n<p>Compilando o arquivo em todas as m\u00e1quinas. Utilizar o comando:<\/p>\n<p># mpicc -o -hostfile \/opt\/hostfile \/usr\/src\/mpich-3.0.4\/examples\/cpi.c cpi<\/p>\n<p>Onde: cpi.c &#8211; Calcula o valor de PI.<\/p>\n<p>Testando:<\/p>\n<p># mpirun -hostfile \/opt\/hostfile -n 7 \/usr\/src\/mpich-3.0.4\/examples\/cpi<\/p>\n<p>Dever\u00e1 aparecer o processo de calculo dividindo o processo em todos os n\u00f3s, com resultado e tempo gasto no c\u00e1lculo. Neste momento. Nosso cluster HP j\u00e1 est\u00e1 funcionando!<\/p>\n<p>INSTALANDO O GANGLIA (MONITOR GR\u00c1FICO)<\/p>\n<p>Nos n\u00f3s:<\/p>\n<p># apt-get update<br \/>\n# apt-get install ganglia-monitor<\/p>\n<p>No servidor:<\/p>\n<p>Onde: invoke-rc.d gdm3 start &#8211; habilita interface gr\u00e1fica, caso tenha desabilitado.<\/p>\n<p># apt-get update<br \/>\n# apt-get install apache2<\/p>\n<p>Abra o navegador e digite: localhost<br \/>\nDever\u00e1 aparecer: It works (assim o apache est\u00e1 funcionando)<\/p>\n<p># apt-get install php5 libapache2-mod-php5<\/p>\n<p>Crie o arquivo:<\/p>\n<p># nano \/var\/www\/info.php<\/p>\n<p>Coloque dentro dele:<\/p>\n<p>&nbsp;<\/p>\n<p>Salve e saia. Reinicie o Apache:<\/p>\n<p># service apache2 restart<\/p>\n<p>Abra o navegador e digite: http:\/\/localhost\/info.php<\/p>\n<p>Dever\u00e1 aparecer a p\u00e1gina de informa\u00e7\u00f5es do PHP.<\/p>\n<p>Instalando o Ganglia:<\/p>\n<p># apt-get install ganglia-webfrontend ganglia-monitor<\/p>\n<p>Vamos copiar o arquivo necess\u00e1rio:<\/p>\n<p># cp \/etc\/ganglia-webfrontend\/apache.conf \/etc\/apache2\/sites-enabled\/ganglia.conf<\/p>\n<p>Alterar o arquivo \/etc\/ganglia\/gmod.conf no servidor e copiar para os n\u00f3s.<\/p>\n<p>A parte que nos interessa alterar, est\u00e1 na imagem acima. Comente as linhas onde tem o IP 239.2.11.71<\/p>\n<p>name= &#8220;kluster&#8221;<br \/>\nowner= &#8220;kluster&#8221;<br \/>\n\/* mcast join 239.2.11.71 *\/<br \/>\nhost = 192.168.0.1<br \/>\n\/* mcast join 239.2.11.71 *\/<br \/>\n\/* bind = 239.2.11.71 *\/<\/p>\n<p>Ou similar. E configure o host com o IP do servidor.<\/p>\n<p>Altere o arquivo \/etc\/ganglia\/gmetad.conf no servidor, deixando como na imagem acima, n\u00e3o sendo necess\u00e1rio copiar para os n\u00f3s.<\/p>\n<p>data_source &#8220;kluster&#8221; 15 localhost 192.168.0.1<br \/>\ngridname = &#8220;kluster&#8221;<br \/>\nauthority &#8220;http:\/\/localhost\/ganglia\/&#8221;<\/p>\n<p>Para reiniciar o servi\u00e7o nos n\u00f3s:<\/p>\n<p># service ganglia-monitor restart<\/p>\n<p>Reiniciar o Apache e o Ganglia no servidor:<\/p>\n<p># service apache2 restart<br \/>\n# service gmetad restart<\/p>\n<p>A partir da\u00ed, \u00e9 s\u00f3 digitar no navegador: http:\/\/localhost\/ganglia<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O QUE \u00c9 CLUSTER Um Cluster \u00e9 formado por um conjunto de computadores interligados atrav\u00e9s de uma rede, as m\u00e1quinas membros deste cluster s\u00e3o denominadas n\u00f3 ou node. \u00c9 importante utilizar uma infraestrutura de rede que facilite a inclus\u00e3o, altera\u00e7\u00e3o e exclus\u00e3o de m\u00e1quinas. Na maioria das vezes o cluster \u00e9 formado por computadores convencionais [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[455,477,91,730,1,830,42,51,495,68,271,127,548],"tags":[833,31,353,804],"class_list":["post-2610","post","type-post","status-publish","format-standard","hentry","category-apache2","category-backup-2","category-banco-de-dados","category-clusterweb","category-viazap","category-debian","category-leitura-recomendada","category-linux-linuxrs","category-profissional-de-ti","category-redes-2","category-seguranca-2","category-sistemas-de-armazenamento","category-ubuntu-2","tag-beowulf","tag-cluster","tag-de","tag-montagem"],"_links":{"self":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2610","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2610"}],"version-history":[{"count":1,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2610\/revisions"}],"predecessor-version":[{"id":2611,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=\/wp\/v2\/posts\/2610\/revisions\/2611"}],"wp:attachment":[{"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.clusterweb.com.br\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}