Diretório de artigos
1. Visão geral do Hadoop
1.1Introdução ao Hadoop
- Hadoop é uma plataforma de computação distribuída de código aberto da Apache [ pætʃi] Software Foundation, que
fornece aos usuáriosOs detalhes subjacentes do sistema são transparentesdeInfraestrutura distribuída。
- O Hadoop é desenvolvido com base na linguagem Java, possui bons recursos de plataforma cruzada e pode ser implantado em clusters de computadores baratos
- O Hadoop pode oferecer suporte a várias linguagens de programação, como C, C++, Java e Python
- Hadoop = HDFS (armazenamento) + MapReduce (computação)
1.2 Breve história do desenvolvimento do Hadoop
- FundadorDoug Cutting
- Nutch é um mecanismo de pesquisa de código aberto implementado em Java. Ele fornece todas as ferramentas de que precisamos para executar nosso próprio mecanismo de pesquisa. Inclui pesquisa de texto completo e rastreamento da web.
- Em 2003, o Google lançou o sistema de arquivos distribuído GFS (Google File System)
- Em 2004, o projeto Nutch também imitou o GFS e desenvolveu seu próprio sistema de arquivos distribuídos NDFS (Nutch Distributed File System), que é o antecessor do HDFS.
- Em 2004, o Google lançou o MapReduce, uma estrutura de programação paralela distribuída
- Em fevereiro de 2006, NDFS e MapReduce em Nutch começaram a se tornar independentes
e se tornaram um subprojeto do projeto Lucene, chamado Hadoop. - Em janeiro de 2008, o Hadoop tornou-se oficialmente um projeto de nível superior do Apache.
- A história da fama do Hadoop: Em abril de 2008, o Hadoop quebrou o recorde mundial e se tornou o sistema mais rápido
para classificar 1 TB de dados. Ele usou um cluster de 910 nós para realizar operações e o tempo de classificação
levou apenas 209 segundos. - Em maio de 2009, o Hadoop ainda reduziu o tempo de classificação de dados de 1 TB para 62 segundos. Desde então, o Hadoop
tornou-se famoso e rapidamente se tornou a plataforma de desenvolvimento distribuído de código aberto mais influente na era do big data
e se tornou o padrão de fato para o processamento de big data.
1.3 Recursos do Hadoop
Hadoop é uma estrutura de software que pode realizar processamento distribuído de grandes quantidades de dados de maneira confiável, eficiente e escalável. Possui as seguintes características:
- Alta confiabilidade:
Múltiplas máquinas formam um cluster. Se algumas máquinas falharem, as máquinas restantes poderão continuar a fornecer serviços ao mundo exterior. - Eficiência:
centenas ou milhares de máquinas calculam juntas - Alta escalabilidade:
máquinas podem ser adicionadas continuamente ao cluster - Alta tolerância a falhas
Quando os dados são enviados para um único nó, os dados também são replicados para outros nós do cluster, o que significa que, se ocorrer uma falha, haverá outra cópia disponível. - O Hadoop de baixo custo
usa máquinas comuns baratas para formar um cluster de servidores para distribuir e processar dados, de modo que o custo é muito baixo. - Funciona na plataforma Linux
- Suporta múltiplas linguagens de programação
1.4 Status atual do aplicativo Hadoop
- Com suas vantagens marcantes, o Hadoop tem sido amplamente utilizado em diversos campos, sendo o campo da Internet sua principal área de aplicação.
- Como site de rede social de renome mundial, o Facebook utiliza principalmente a plataforma Hadoop para processamento de logs, sistemas de recomendação e data warehouses.
- As empresas nacionais que usam o Hadoop incluem principalmente Baidu, Taobao, NetEase, Huawei, China Mobile, etc. Entre elas, o cluster Hadoop do Taobao é relativamente grande.
- Os aplicativos relacionados ao Hadoop suportam 3 tipos de aplicativos de camada superior
- Diferentes componentes do Hadoop permitem diferentes análises empresariais
- O HDFS de nível mais baixo atende às necessidades de grandes quantidades de armazenamento de dados nas empresas
- Analisar após armazenamento:
- A análise offline pode realizar processamento em lote de dados, como MR (MapReduce).Os produtos de data warehouse Hive e Pig também podem ser usados.
- Banco de dados Hbase para consulta em tempo real
- Mineração de dados usando Mahout
1.5 Evolução da versão do Apache Hadoop
- A versão Apache Hadoop é dividida em duas gerações, chamamos a primeira geração do Hadoop Hadoop 1.0 e a segunda geração do Hadoop de Hadoop 2.0.
- A primeira geração do Hadoop incluiu três versões principais, nomeadamente 0.20.x, 0.21.x e 0.22.x. Entre elas, 0.20.x finalmente evoluiu para 1.0.x e tornou-se uma versão estável, enquanto 0.21.x e 0.22.x Novo recursos importantes, como NameNode HA, foram adicionados.
- A segunda geração do Hadoop inclui duas versões, nomeadamente 0.23.x e 2.x. Elas são completamente diferentes do Hadoop 1.0 e são uma arquitetura completamente nova.
- Hadoop 1.0 dois núcleos
- Inclui duas partes de trabalho = processamento de dados + gerenciamento de recursos de cluster (CPU do cluster, alocação de memória)
- Mudanças do Hadoop 1.0 para o Hadoop 2.0
- O YARN também é responsável pelo agendamento de recursos da computação de fluxo.
- A computação em lote é baseada no YARN e o YARN realiza o agendamento de recursos.
1.6 Várias versões do Hadoop (produtos de desenvolvimento empresarial)
2.Estrutura do projeto Hadoop