HBase
 sql >> Base de Dados >  >> NoSQL >> HBase

Hadoop – Tutoriais Apache Hadoop para Iniciantes


O objetivo principal deste Hadoop Tutorial é para descrever cada aspecto do Apache Hadoop Framework. Basicamente, este tutorial foi projetado de forma que seria fácil aprender o Hadoop desde o básico.

Neste artigo, faremos o possível para responder a perguntas como o que é Big Data Hadoop, Qual é a necessidade do Hadoop, qual é a história do Hadoop e, por último, vantagens e desvantagens do framework Apache Hadoop.

Nossa esperança é que, depois de ler este artigo, você tenha uma compreensão clara do que é um Hadoop Framework.

O que é Hadoop?


É uma estrutura de software de código aberto para armazenamento distribuído e processamento de uma grande quantidade de conjuntos de dados. Open source significa que está disponível gratuitamente e até podemos alterar seu código-fonte de acordo com suas necessidades.

Também possibilita a execução de aplicativos em um sistema com milhares de nós. Seu sistema de arquivos distribuído oferece taxas rápidas de transferência de dados entre os nós. Também permite que o sistema continue operando em caso de falha do nó.

Hadoop fornece-
  • A camada de armazenamento – HDFS
  • Mecanismo de processamento em lote – MapReduce
  • Camada de gerenciamento de recursos – YARN

Hadoop – Histórico


Em 2003, o Google lança o projeto Nutch para lidar com bilhões de pesquisas. Também para indexar milhões de páginas da web. Em outubro de 2003, o Google publicou o GFS (Google File System), desse papel o Hadoop foi originado.

Em 2004, o Google lança um documento com o MapReduce . E em 2005, Nutch usou GFS e MapReduce para realizar operações.

Em 2006, os cientistas da computação Doug CuttingMike Cafarella  criou o Hadoop. Em fevereiro de 2006, Doug Cutting ingressou no Yahoo . Isso forneceu recursos e uma equipe dedicada para transformar o Hadoop em um sistema que funcionava em escala web. Em 2007, o Yahoo começou a usar o Hadoop em um cluster de 100 nós.

Em janeiro de 2008, o Hadoop fez seu próprio projeto de alto nível no Apache, confirmando seu sucesso. Muitas outras empresas usaram o Hadoop além do Yahoo!, como o New York Times e o Facebook.

Em abril de 2008, o Hadoop quebrou um recorde mundial ao se tornar o sistema mais rápido para classificar um terabyte de dados. Executando em um cluster de 910 nós, o In classificou um terabyte em 209 segundos.

Em dezembro de 2011, o Apache Hadoop lançou a versão 1.0. Em agosto de 2013, a versão 2.0.6 estava disponível. Mais tarde, em junho de 2017, o Apache Hadoop 3.0.0-alpha4 estará disponível. ASF (Apache Software Foundation) gerencia e mantém a estrutura e o ecossistema de tecnologias do Hadoop.

Por que Hadoop?


Como aprendemos a introdução, agora vamos aprender qual é a necessidade do Hadoop?

Surgiu como uma solução para o “Big Data "problemas-

a. Armazenamento para Big Data – HDFS Resolvido este problema. Ele armazena Big Data de forma distribuída. O HDFS também armazena cada arquivo como blocos. Bloco é a menor unidade de dados em um sistema de arquivos.

Suponha que você tenha 512 MB de dados. E você configurou o HDFS de forma que ele crie 128Mb de blocos de dados. Então o HDFS divide os dados em 4 blocos (512/128=4) e o armazena em diferentes DataNodes. Ele também replica os blocos de dados em diferentes datanodes.

Portanto, armazenar big data não é um desafio.

b. Escalabilidade – Ele também resolve o problema de dimensionamento. Ele se concentra principalmente na escala horizontal em vez da escala vertical. Você pode adicionar datanodes extras ao cluster HDFS conforme e quando necessário. Em vez de aumentar os recursos de seus datanodes.

Portanto, aumentando o desempenho drasticamente.

c. Armazenar a variedade de dados  – O HDFS resolveu esse problema. O HDFS pode armazenar todos os tipos de dados (estruturados, semiestruturados ou não estruturados). Também segue escrever uma vez e ler muitos modelos .

Devido a isso, você pode gravar qualquer tipo de dados uma vez e lê-los várias vezes para encontrar insights.

d. Velocidade de processamento de dados  – Este é o grande problema do big data. Para resolver esse problema, mova a computação para dados em vez de dados para computação. Esse princípio é localidade de dados .

Componentes principais do Hadoop


Agora vamos aprender o componente principal do Apache Hadoop em detalhes. Possui 3 componentes principais -
  • HDFS
  • MapReduce
  • YARN(Yet Another Resource Negotiator)

Vamos discutir esses componentes principais um por um.

a. HDFS


Sistema de arquivos distribuídos Hadoop (HDFS) é o sistema de armazenamento primário do Hadoop. O HDFS armazena arquivos muito grandes executados em um cluster de hardware comum. Ele segue o princípio de armazenar um número menor de arquivos grandes em vez do grande número de arquivos pequenos.

Armazena dados de forma confiável mesmo em caso de falha de hardware. Ele fornece acesso de alto rendimento ao aplicativo acessando em paralelo.

Componentes do HDFS:
  • NameNode – Funciona como Mestre no cluster. Namenode armazena metadados . Uma série de blocos, réplicas e outros detalhes. Os metadados estão presentes na memória do mestre. NameNode mantém e também gerencia os nós escravos e atribui tarefas a eles. Ele deve ser implantado em hardware confiável, pois é a peça central do HDFS.
  • DataNode –  Funciona como escravo no cluster. No HDFS, o DataNode é responsável por armazenar os dados reais no HDFS. O DataNode executa a operação de leitura e gravação conforme solicitação dos clientes. Os DataNodes também podem ser implantados em hardware comum.

b. MapReduce


MapReduce é a camada de processamento de dados do Hadoop. Ele processa grandes dados estruturados e não estruturados armazenados no HDFS. O MapReduce também processa uma enorme quantidade de dados em paralelo.

Ele faz isso dividindo o trabalho (trabalho enviado) em um conjunto de tarefas independentes (subtrabalho). O MapReduce funciona dividindo o processamento em fases:Mapear e Reduzir.
  • Mapa –  É a primeira fase do processamento, onde especificamos todo o código lógico complexo.
  • Reduzir – É a segunda fase do processamento. Aqui especificamos o processamento leve, como agregação/soma.

c. FIO


O YARN fornece o gerenciamento de recursos. É o sistema operacional do Hadoop. É responsável por gerenciar e monitorar cargas de trabalho, implementando também controles de segurança. O Apache YARN também é uma plataforma central para fornecer ferramentas de governança de dados nos clusters.

O YARN permite vários mecanismos de processamento de dados, como streaming em tempo real, processamento em lote, etc.

Componentes do YARN:
  • Gerente de recursos –  É um componente de nível de cluster e é executado na máquina mestre. Ele gerencia recursos e agenda aplicativos executados na parte superior do YARN. Ele tem dois componentes:Agendador e Gerenciador de Aplicativos.
  • Gerenciador de nós – É um componente de nível de nó. Ele é executado em cada máquina escrava. Ele se comunica continuamente com o Resource Manager para se manter atualizado

Vantagens do Hadoop


Vamos agora discutir várias vantagens do Hadoop para resolver os problemas de big data.
  • Escalabilidade – Ao adicionar nós, podemos facilmente aumentar nosso sistema para lidar com mais dados.
  • Flexibilidade –   Nesta estrutura, você não precisa pré-processar os dados antes de armazená-los. Você pode armazenar quantos dados quiser e decidir como usar mais tarde.
  • Baixo custo –  A estrutura de código aberto é gratuita e é executada em hardware comum de baixo custo.
  • Tolerância a falhas –  Se os nós ficarem inativos, os trabalhos serão redirecionados automaticamente para outros nós.
  • Poder de computação – É  modelo de computação distribuída processa big data rapidamente. Quanto mais nós de computação você usa, mais poder de processamento você tem.

Desvantagens do Hadoop


Algumas desvantagens do Apache Hadoop Framework são fornecidas abaixo-
  • Preocupações de segurança – Pode ser um desafio gerenciar o aplicativo complexo. Se o usuário não souber como habilitar a plataforma que está gerenciando a plataforma, seus dados podem ser um grande risco. Como os níveis de armazenamento e rede do Hadoop estão sem criptografia, o que é um grande ponto de preocupação.
  • Vulnerável por natureza –  O framework é escrito quase em java, a linguagem mais utilizada. Java é fortemente explorado por cibercriminosos. Como resultado, implicado em várias violações de segurança.
  • Inadequado para dados pequenos – Uma vez que, não é adequado para dados pequenos. Portanto, ele não tem a capacidade de oferecer suporte eficiente à leitura aleatória de arquivos pequenos.
  • Potenciais problemas de estabilidade –  Por ser um framework de código aberto. Isso significa que ele é criado por muitos desenvolvedores que continuam trabalhando no projeto. Embora sejam feitas melhorias constantes, ele tem problemas de estabilidade. Para evitar esses problemas, as organizações devem usar a versão estável mais recente.

Conclusão


Em conclusão, podemos dizer que é a ferramenta de Big Data mais popular e poderosa. Ele armazena uma enorme quantidade de dados de forma distribuída.

E então processa os dados em paralelo em um cluster de nós. Ele também fornece a camada de armazenamento mais confiável do mundo - HDFS. Mecanismo de processamento em lote MapReduce e camada de gerenciamento de recursos - YARN.

Portanto, esses daemons garantem a funcionalidade do Hadoop.

No