O que é Hadoop? Introdução, Arquitetura, Ecossistema, Componentes

Índice:

Anonim

O que é Hadoop?

Apache Hadoop é uma estrutura de software de código aberto usada para desenvolver aplicativos de processamento de dados que são executados em um ambiente de computação distribuído.

Os aplicativos construídos com HADOOP são executados em grandes conjuntos de dados distribuídos em clusters de computadores comuns. Os computadores básicos são baratos e amplamente disponíveis. Eles são úteis principalmente para obter maior poder computacional a baixo custo.

Semelhante aos dados que residem em um sistema de arquivos local de um sistema de computador pessoal, no Hadoop, os dados residem em um sistema de arquivos distribuído que é chamado de sistema de arquivos distribuídos Hadoop . O modelo de processamento é baseado no conceito de 'Localidade de Dados' em que a lógica computacional é enviada para nós do cluster (servidor) contendo dados. Essa lógica computacional não é nada, mas uma versão compilada de um programa escrito em uma linguagem de alto nível como Java. Esse programa processa dados armazenados no Hadoop HDFS.

Você sabe? O cluster de computador consiste em um conjunto de várias unidades de processamento (disco de armazenamento + processador) que estão conectadas umas às outras e atuam como um único sistema.

Neste tutorial, você aprenderá,

  • Hadoop EcoSystem and Components
  • Arquitetura Hadoop
  • Recursos do 'Hadoop'
  • Topologia de rede no Hadoop

Hadoop EcoSystem and Components

O diagrama abaixo mostra vários componentes no ecossistema Hadoop-

Apache Hadoop consiste em dois subprojetos -

  1. Hadoop MapReduce: MapReduce é um modelo computacional e estrutura de software para escrever aplicativos que são executados no Hadoop. Esses programas MapReduce são capazes de processar dados enormes em paralelo em grandes clusters de nós de computação.
  2. HDFS ( Hadoop Distributed File System ): o HDFS cuida da parte de armazenamento dos aplicativos Hadoop. Os aplicativos MapReduce consomem dados do HDFS. O HDFS cria várias réplicas de blocos de dados e os distribui em nós de computação em um cluster. Essa distribuição permite cálculos confiáveis ​​e extremamente rápidos.

Embora o Hadoop seja mais conhecido pelo MapReduce e seu sistema de arquivos distribuído - HDFS, o termo também é usado para uma família de projetos relacionados que se enquadram na área de computação distribuída e processamento de dados em grande escala. Outros projetos relacionados ao Hadoop na Apache incluem Hive, HBase, Mahout, Sqoop, Flume e ZooKeeper.

Arquitetura Hadoop

Arquitetura Hadoop de alto nível

O Hadoop tem uma arquitetura Master-Slave para armazenamento de dados e processamento de dados distribuídos usando métodos MapReduce e HDFS.

NameNode:

NameNode representou todos os arquivos e diretórios usados ​​no namespace

DataNode:

DataNode ajuda você a gerenciar o estado de um nó HDFS e permite que você interaja com os blocos

MasterNode:

O nó mestre permite que você conduza o processamento paralelo de dados usando Hadoop MapReduce.

Nó escravo:

Os nós escravos são as máquinas adicionais no cluster do Hadoop, que permitem armazenar dados para realizar cálculos complexos. Além disso, todo o nó escravo vem com o Task Tracker e um DataNode. Isso permite que você sincronize os processos com o NameNode e o Job Tracker, respectivamente.

No Hadoop, o sistema mestre ou escravo pode ser configurado na nuvem ou no local

Recursos do 'Hadoop'

• Adequado para análise de Big Data

Como o Big Data tende a ser distribuído e não estruturado por natureza, os clusters HADOOP são mais adequados para a análise de Big Data. Como é a lógica de processamento (não os dados reais) que flui para os nós de computação, menos largura de banda da rede é consumida. Esse conceito é chamado de conceito de localidade de dados, o que ajuda a aumentar a eficiência dos aplicativos baseados em Hadoop.

• Escalabilidade

Os clusters HADOOP podem ser facilmente escalados em qualquer extensão, adicionando nós de cluster adicionais e, assim, permite o crescimento de Big Data. Além disso, o dimensionamento não requer modificações na lógica do aplicativo.

• Tolerância ao erro

O ecossistema HADOOP tem uma disposição para replicar os dados de entrada para outros nós do cluster. Dessa forma, no caso de uma falha do nó do cluster, o processamento de dados ainda pode continuar usando dados armazenados em outro nó do cluster.

Topologia de rede no Hadoop

A topologia (arranjo) da rede afeta o desempenho do cluster Hadoop quando o tamanho do cluster Hadoop aumenta. Além do desempenho, também é preciso se preocupar com a alta disponibilidade e tratamento de falhas. Para atingir esse Hadoop, a formação de cluster faz uso da topologia de rede.

Normalmente, a largura de banda da rede é um fator importante a ser considerado ao formar qualquer rede. No entanto, como medir a largura de banda pode ser difícil, no Hadoop, uma rede é representada como uma árvore e a distância entre os nós dessa árvore (número de saltos) é considerada um fator importante na formação do cluster do Hadoop. Aqui, a distância entre dois nós é igual à soma de sua distância até seu ancestral comum mais próximo.

O cluster do Hadoop consiste em um data center, o rack e o nó que realmente executa os trabalhos. Aqui, o data center consiste em racks e o rack consiste em nós. A largura de banda da rede disponível para processos varia dependendo da localização dos processos. Ou seja, a largura de banda disponível torna-se menor à medida que nos afastamos de

  • Processos no mesmo nó
  • Nós diferentes no mesmo rack
  • Nós em racks diferentes do mesmo data center
  • Nós em diferentes data centers