Hadoop

Hoje é possível em poucas horas, com alguns dolares e com algumas máquinas processar um volume relativamente grande de dados . Em grande parte isso se deve ao Hadoop, um framework para processamento de dados em larga escala. Ele se utiliza do paradigma de programação Map Reduce para realizar computação distribuída em clusters contendo centenas e até milhares de máquinas.

Um assunto recorrente aqui no Escalabilidade é a era da explosão de dados em que vivemos. Cada vez mais informações estão sendo geradas e arquivadas ao redor do mundo. Grandes sites como Facebook, Google, Twitter e Amazon armazenam dados da ordem de Petabytes.

Acompanhando a explosão de dados e o surgimento tanto de softwares open source como de serviços de infraestrutura para processamento em larga escala vemos um aumento da demanda por profissionais especializados em construir sistemas capazes de armazenar e processar grandes volumes de informações.

O Hadoop hoje é utilizado pelas grandes empresas da web e é o padrão de fato quanto se trata de processamento distribuído em larga escala. Empresas como Facebook, Yahoo, Twitter e recentemente até a Microsoft e IBM já estão utilizando o Hadoop em seus projetos. Acreditamos que muitas outras empresas vão adotar o Hadoop de agora em diante. Esta tendência é parcialmente confirmada pelo aumento intenso da procura por profissionais com domínio nesta tecnologia.Um bom exemplo disto é o gráfico abaixo publicado pela Indeed :

jobgraph Introdução ao Hadoop parte I: Porque você deveria aprender Hadoop ?

 

O Hadoop foi criado por Doug Cutting. Ele também é o criador do projeto Apache Lucene, uma biblioteca de busca em texto amplamente usada. O Hadoop se originou no projeto Apache Nutch, um buscador open source que também faz parte do projeto Lucene.
lucene green 300 Introdução ao Hadoop Parte II : Uma breve história do Hadoop
A tarefa de construir um buscador, que funcione na escala da web, do zero é extremamente complexa. Um sistema que faz crawling e indexa bilhões de páginas não só é difícil de se escrever como é complexo de se operar e manter. Fazer um buscador nesta escala funcionar é uma tarefa que muitas vezes exige um time inteiro de operações para manter todas as partes do sistema em movimento. Os custos com máquinas e infraestrutura são em geral altos dado o volume de armazenamento e processamento exigido. Mesmo com todas estas dificuldades a vista Mike Cafarella e Doug Cutting resolveram criar o projeto Nutch para abrir a toda a comunidade de desenvolvedores os algoritmos de buscadores web.
nutch logo Introdução ao Hadoop Parte II : Uma breve história do Hadoop
O Nutch começou em 2002 e rapidamente um protótipo funcional apareceu. Esta versão inicial tinha muitos problemas de escala, ela não aguentaria os bilhões de páginas que uma aplicação de buscas para web precisa manipular. A solução para este problema veio de um artigo publicado pelo Google descrevendo sua arquitetura de arquivos distribuídos chamada de GFS ( Google File System ). Esta arquitetura já estava em produção no Google e minimizava o tempo gasto gerenciando os servidores necessários para manter os grandes arquivos gerados pela indexação das páginas. O artigo publicado em 2003 pelo Google abriu caminho para que a equipe do Nutch criasse uma implementação open source do GFS. Ela foi lançada em 2004 e chamada de Nutch Distributed Filesystem (NDFS).

Em 2004 o Google publica o clássico artigo descrevendo seu framework MapReduce ( descreveremos com maiores detalhes este framework em posts futuros ) . Em 2005 a equipe do Nutch já tinha uma implementação open source do MapReduce funcionando em conjunto com o NDFS.

As aplicações possíveis destas implementações poderiam ir além dos buscadores. Em 2006 estes projetos foram fundidos em um novo sub projeto do Lucene chamado Hadoop ( Este era o nome do elefante amarelo de pelúcia do filho de Doug ) . Nesta mesma epoca Doug Cutting entrou para o Yahoo! que forneceu recursos e um time para tornar o Hadoop um sistema completo para trabalhar na escala da web. Isto foi demonstrado em 2008 quando o Yahoo! anunciou que o seu index de páginas web era gerado agora por um cluster de 10000 máquinas rodando Hadoop.

O Hadoop se tornou um projeto independente dentro da Apache em 2008 e tem crescido desde então. Hoje empresas como Facebook, Last.fm, Twitter e até mesmo  Microsoft passaram a utilizar o Hadoop.

O Hadoop cresceu de um pequeno subprojeto para um grande framework para computação distribuída em poucos anos. No nosso post anterior contamos um pouco da história do Hadoop e agora vamos entender como o projeto é organizado hoje em dia.

O projeto Hadoop é hoje um projeto independente dentro da hierarquia de projetos da fundação Apache. Durante muito tempo ele foi um subprojeto do Lucene mas seu crescimento acelerado e sua grande versatilidade justificaram a sua elevação a TPL (Top Level Project) da Apache.

Os componentes mais conhecidos do Hadoop são seu sistemas de arquivos distribuídos (HDFS) e o MapReduce. Adicionando valor a esta infraestrutura básica muitos outros projetos surgiram. Estes projetos facilitam a utilização do Hadoop assim como adicionam abstrações de alto nível para facilitarem a criação de sistemas mais complexos. Os subprojetos atuais são:

MapReduce
O Hadoop MapReduce é um modelo de programação e framework para criação de aplicações que rapidamente processam vastas quantidades de dados em paralelo através de grandes clusters de computadores comuns.

HDFS
Hadoop Distributed File System (HDFS) é o sistema básico de armazenamento utilizado por aplicações Hadoop. O HDFS cria réplicas de blocos de dados e que são distribuídos no cluster para permitir computações extremamente rápidas.

 

Hive
Hive é uma infraestrutura de data warehouse construído em cima do Hadoop que provê ferramentas que facilitam a criação de relatórios e a análise de quantidades gigantescas de dados armazenados em arquivos Hadoop.

Pig
O Pig é uma plataforma de processamento de dados em larga escala que possui uma linguagem de alto nível e um “compilador” que transforma scripts feitos nesta linguagem em programas MapReduce.

HBase
É um banco de dados NoSQL distribuído e orientado a colunas. Usa como sistema de arquivos o HDFS e permite tanto processamento de dados em batch utilizando MapReduce como queries online.

ZooKeeper
Um serviço de coordenação distribuído. O ZooKeeper fornece primitivas básicas para construção de sistemas distribuídos.

Chukwa
É um sistema distribuído para coletar e analisar logs dinamicamente.

Supermicro e Hadoop - Rack Solutions

Hadoop - Rack Cabinet

Por que os Racks da Supermicro Cluster Turnkey ideal para o Apache Hadoop?

Supermicro projeta e desenvolve os racks ideais  para começar a trabalhar com o Apache Hadoop. Aproveitando servidores otimizados da Supermicro e switches , a Supermicro desenvolveu dois racks turnkey para  versões 14U e 42U. Supermicro centrou-se na integração, sistemas remotos e gerenciamento de energia para reduzir os prazos de implantação e comissionamento e fornecer fornecer aos desenvolvedores acesso a ambientes de hardware nativos, rapidamente e facilmente.

 

Supermicro 14U Rack Cabinet

Supermicro 14U Rack Cabinet

  • Optimized 14U Hadoop Rack
  • IPMI 2.0 + KVM with dedicated LAN for remote management
  • Cost effective, high performance, power efficient server nodes
  • 2 Primary / Secondary Name Nodes, 48 GB Memory Per Node
  • 8 Data Nodes 24 GB Memory Per Node
  • 48TB Raw HDFS Capacity
  • 2x Intel® Xeon® 5600 Processors per Node
  • Gold Level (93%+) efficient power supplies

Consists of:

  • 2 x 1U Naming Nodes
  • 4 x 2U Data Nodes
  • 1 x 48-Port 1/10 Gigabit Ethernet Switch
  • 1 x 1U SSM Management Server
  • 1 x 2U PDU
  • Integrated, Cabled, Labeled, Tested, Crated and Shipped as turnkey rack

 

Supermicro 42U Rack Cabinet

Supermicro 42U Rack Cabinet

  • Optimized 42U Hadoop Rack
  • IPMI 2.0 + KVM with dedicated LAN for remote management
  • Cost effective, high performance, power efficient server nodes
  • 2x Primary / Secondary Name Nodes 48 GB Memory Per Node
  • 20x Data Nodes 24 GB Memory Per Node 120TB Raw HDFS Capacity
  • 2x Intel® Xeon® 5600 Processors per Node
  • Gold Level (93%+) efficient power supplies

Consists of:

  • 2 x 1U Naming Nodes
  • 10 x 2U Data Nodes
  • 2 x 48-Port 1/10 Gigabit Ethernet Switch
  • 1 x 1U SSM Management Server
  • 2 x PDU
  • Integrated, Cabled, Labeled, Tested, Crated and Shipped as turnkey rack

SOLUÇÕES

Intel Xeon Servers

Intel Xeon Servers

AMD Based Servers

AMD Based Servers

Soluções HPC

Soluções HPC

Soluções para Vídeos

Soluções para Vídeos

Blade Servers

Blade Servers

Clusters

Clusters

NEWSLETTER

Siga-nos - Twitter