Apache Hadoop
Processamento distribuído de grande volume de dados

Apache Hadoop é uma implementação de código aberto do paradigma MapReduce, o qual define uma arquitetura para realização de processamento distribuído e paralelo de grandes volumes de dados, de modo que possam ser "executados" em vários servidores, usando modelos de programação simples.
O paradigma MapReduce expande servidores únicos para muitas máquinas, oferecendo computação e armazenamento locais. A razão para sua escalabilidade é a natureza distribuída da sua solução - uma tarefa inicial complexa é dividida em várias menores, e, então, executada em máquinas diferentes. Posteriormente, o resultado é combinado para gerar a solução da tarefa inicial.

O Apache Hadoop surgiu em 2006, a partir de uma solução de busca na Web denominada Nutch Distributed File System (NDFS) que, segundo seus criadores, Doug Cutting e Mike Cafarella, teve sua gênese no documento Google File System, publicado em outubro de 2003. O NDFS evoluiu para o que hoje conhecemos como Haddop Distributed File System (HDFS).
O Apache Hadoop, bem como seu conjunto de soluções vinculadas, é uma das implementações mais populares e performáticas atualmente utilizadas para solucionar desafios relacionados à coleta, armazenamento e análise de dados, sejam estruturados ou não, estáticos ou tempo real.
Benefícios do Apache Hadoop
- Escalabilidade: Hadoop obtém escalabilidade de forma relativamente simples por meio de pequenas modificações em ficheiros de configuração. O esforço para preparação dum ambiente com mil máquinas não é muito maior do que com 10. As limitações ficam por conta dos recursos, espaço em disco e capacidade de processamento disponíveis.
- Simplicidade: Hadoop gerencia questões relativas à computação paralela, como tolerância a falhas, escalonamento e balanceamento de carga. Suas operações se resumem a mapeamento (Map) e junção (Reduce), o que o mantém com foco na abstração e processamento de tarefas no modelo de programação MapReduce.
- Baixo Custo/economia:
- Como software livre, dispensa aquisição de licenças e contratação de pessoal especializado.
- Pode realizar processamento de dados em máquinas e redes convencionais.
- Permite a execução de aplicações "na nuvem", sem a necessidade de implantar seu próprio aglomerado de máquinas.
- Código Aberto: Conta com uma comunidade ativa que envolve muitas empresas e programadores independentes partilhando conhecimento, promovendo melhorias e colaborando com a sua qualidade. Este trabalho colaborativo promove atualizações e correções mais tempestivas e com maior qualidade, uma vez que a produção individual é avaliada por todos.
- Alta disponibilidade: O Hadoop não depende de hardware para entregar alta disponibilidade. Suas bibliotecas foram construídas para detectar e lidar com falhas na camada do aplicativo, disponibilizando, assim, alta disponibilidade num Cluster de computadores.
Arquitetura do Apache Hadoop
Os componentes-chave do Hadoop são o MapReduce e o HDFS. Com sua evolução, novos subprojetos foram incorporados, visando solucionar problemas específicos.
Principais componentes do Apache Hadoop
- Hadoop Common: É o "pilar" do Hadoop: onde fica armazenado um conjunto predefinido de utilitários e bibliotecas que podem ser usados por outros módulos dentro do Ecossistema Hadoop (ficheiros e scripts Java Archive (JAR)).
- HDFS: É um Sistema de ficheiros distribuídos, escalável, projetado para armazenar ficheiros muito grandes e disponibilizar acesso de alta capacidade. Provê acesso com alto throughput(taxa de transferência) aos dados de aplicativos.
- A ideia que norteia sua solução é garantir escalabilidade e confiabilidade ao processamento paralelo, utilizando o conceito de réplicas e blocos (com tamanho fixo de 64MB, em geral, armazenados em mais de um servidor).
- Hadoop YARN: Responsável pelo gerenciamento e agendamento dos recursos computacionais do Cluster.
- Hadoop MapReduce: É uma estrutura de software criada para processar grandes quantidades de dados. Uma excelente solução para processamento paralelo de dados.
- Cada tarefa é especificada em termos de funções de mapeamento e redução. Ambas as tarefas rodam em paralelo, no Cluster, enquanto o sistema de armazenamento necessário é fornecido pelo HDFS.
Subprojetos do Apache Hadoop
A necessidade de novas alternativas para promover um processamento mais rápido e eficaz que os SGBD tradicionais aproximou grandes empresas da Plataforma, que, por se tratar dum projeto de código aberto, recebeu grandes estímulos.
Com o surgimento de novas necessidades, novas ferramentas foram criadas para serem executadas sobre o Hadoop. Conforme se consolidavam, passavam a integrá-lo. Foram essas contribuições que colaboraram com a rápida evolução do Apache Hadoop.
Abaixo as principais ferramentas do Ecossistema Hadoop, que compõem a Plataforma Tecnisys Data Platform (TDP):

Evolução do Apache Hadoop
Veja aqui o Timeline - com a evolução do Apache Hadoop
Ano | Evento |
---|---|
2003 | Lançado artigo de pesquisa para o sistema de ficheiros do Google |
2004 | Lançado artigo de pesquisa para MapReduce |
2006 | JIRA, lista de discussão, e outros documentos criados para Hadoop Hadoop criado a partir do NDFS e MapReduce do Nutch Hadoop criado movendo ndfs e mapreduce de nutch Doug Cutting nomeou o projeto Hadoop, com o mesmo nome do elefante amarelo de seu filho Hadoop Release 0.1.0 37,9 horas para classificar 1.8 TB de dados em 188 nós 300 máquinas implantadas NO Yahoo para o Cluster Hadoop 600 máquinas implantadas no Yahoo para o Cluster Hadoop |
2007 | Dois Clusters de 1000 máquinas no Yahoo Hadoop lançado com HBase Criado o Apache Pig |
2008 | Aberto JIRA para YARN 20 Companhias listadas na página no "powered" do Hadoop (usuários do Hadoop) índice da WEB do Yahoo movido para o Hadoop Cluster do Hadoop de 10.000 "core" usado para gerar o índice de pesquisa do Yahoo Primeiro encontro Hadoop Recorde mundial criado para a classificação mais rápida( um Terabyte de dados em 209 segundos) usando Cluster do Hadoop com 910 nós Hadoop "bate" o recorde "Terabytes sort" Hadoop "bate" o recorde "Terabytes sort Benchmark" Cluster Yahoo com 10TB carregados no Hadoop diariamente Google afirma classificar 1 terabyte em 68 segundos com sua implementação mapreduce |
2009 | 24.000 máquinas com 7 clusters "rodando" no Yahoo Hadoop "bate" o recorde "sorting pentabyte storage" Yahoo afirma classificar 1 terabyte em 62 segundos Segundo Encontro Hadoop Core Hadoop renomeado para Hadoop Common Fundada a distribuição MapR HDFS torna-se subprojeto separado MapReduce torna-se subprojeto separado |
2010 | Autenticação Kerberos adicionada ao Hadoop Versão estável do Apache HBase Yahoo processa 70 PB em 4.000 nós Facebook executa 40 Petabytes em 2.300 Clusters Apache Hive é lançado Apache Pig é lançado |
2011 | Lançado o Apache Zookeeper Contribuição de 200.000 linhas de código do Facebook, Linkedin, eBay e IBM Media Guardian Innovation concede prêmio máximo para Hadoop Hortonworks iniciado por Rob Barbadon e Eric Badleschieler, que eram membros principais do Hadoop no Yahoo 42.000 nós de Cluster Hadoop no Yahoo, processando Petabytes de dados |
2012 | Comunidade Hadoop inicia integração com YARN Encontro Hadoop em San Jose Lançamento do Hadoop 1.0 |
2013 | YARN em produção Lançamento do Hadoop 2.2 |
2014 | Apache Spark se torna projeto de primeiro nível Lançamento do Hadoop 2.6 |
2015 | Lançamento do Hadoop 2.7 |
2016 | Lançamento do Hadoop 2.8 |
2017 | Lançamento do Hadoop 3.0 |
2018 | Lançamento do Hadoop 3.1.0 |
2019 | Lançamento do Hadoop 3.2.0 |
2022 | Lançamento do Hadoop 3.2.4 |
2023 | Lançamento do Hadoop 3.3.6 |
2024 | Lançamento do Hadoop 3.4.0 |
Configurações e Uso
- Configurando um Cluster de nó único
- Configurando um Cluster
- Iniciando e Parando um Cluster
- Usando o File System shell
- Conhecendo os comandos e subprojetos do Hadoop
Diretrizes de Compatibilidade
- Hadoop.apache.org -> Especificações destinadas à comunidade de desenvolvedores Hadoop
- Hadoop.apache.org -> Especificações destinadas a Administradores do Sistema
O Futuro do Apache Hadoop
Em abril de 2021, a Apache Software Foundation anunciou a retirada de 13 projetos relacionados a BigData, dez dos quais faziam parte do Ecossistema Hadoop (Eagle, Sentry, Tajo, etc.).
Esta ação levantou questões sobre o futuro do Apache Hadoop. Entretanto, a Plataforma possui um número representativo de grandes usuários, que continuam a utilizá-lo.
Segundo o Google Trends, o Apache Hadoop atingiu seu pico de popularidade entre 2014 e 2017 e, como em todo ciclo tecnológico, sua popularidade pode sim, entrar em declínio gradualmente a favor de outras ferramentas emergentes. Entretanto, a tecnologia continua progredindo, com foco na contínua evolução do HDFS, YARN e MapReduce. Sua última versão foi lançada em março de 2023.
Detalhes do Projeto Apache Hadoop
O Apache Hadoop foi desenvolvido em Java, predominantemente.

Fonte(s):