Introdução ao ecossistema Hadoop

O Apache Hadoop é um sistema de código aberto para armazenar e processar muitas informações de maneira confiável em muitos computadores comuns. O Hadoop foi escrito pela primeira vez em um artigo e publicado em outubro de 2013 como 'Google File System'. Doug Cutting, que trabalhava no Yahoo na época, introduziu o nome de Hadoop Ecosystem com base no nome do elefante de brinquedo de seu filho. Se considerarmos o principal núcleo do Apache Hadoop, primeiro ele poderá considerar a parte de armazenamento, conhecida como HDFS (Hadoop Distributed File System), e a parte de processamento, conhecida como módulo Map Reduce Programming. O Hadoop, na verdade, divide um arquivo enorme e os armazena em vários nós no cluster.

O conceito do ecossistema Hadoop

A estrutura do Apache Hadoop está principalmente abaixo dos módulos:

  1. Hadoop Common: contém todas as bibliotecas e utilitários necessários para usar o módulo Hadoop.
  2. Sistema de arquivos distribuídos do Hadoop (HDFS): é um dos sistemas de arquivos distribuídos que ajuda a armazenar grandes dados em várias máquinas ou mercadorias. Além disso, forneça grande utilidade no caso de largura de banda, normalmente ela fornece largura de banda muito alta em um tipo de agregado em um cluster.
  3. Fio Hadoop: Foi introduzido em 2012. É principalmente introduzido no gerenciamento de recursos em todo o sistema em commodities, mesmo em um cluster. Com base na capacidade de recursos, distribuiu ou agendou o aplicativo do usuário conforme os requisitos.
  4. Hadoop MapReduce: Ajuda principalmente a processar dados em larga escala por meio da metodologia de programação de redução de mapa.

O Apache Hadoop sempre ajuda na redução de custos de TI em termos de processamento e armazenamento de grandes dados de maneira inteligente. Como o Apache Hadoop é um código aberto e o hardware geralmente está disponível, ele sempre nos ajuda a lidar com uma redução adequada no custo de TI.

Software de código aberto + hardware de commodities = redução de custos de TI

Por exemplo, se considerarmos o recebimento diário de arquivos e diretórios 942787, que exigem 4077936 blocos, totalize 5020723 blocos. Portanto, se configuramos pelo menos 1, 46 PB de capacidade, para lidar com a carga acima, o sistema de arquivos distribuído utilizará 1, 09 PB, ou seja, quase 74, 85% da capacidade total configurada, considerando 178 nós ativos e 24 nós mortos.

Ecossistema Hadoop projetado principalmente para armazenar e processar big data, que normalmente têm algumas características importantes, como abaixo:

  • Volume

Volume significa o tamanho dos dados que realmente foram armazenados e gerados. Depende do tamanho dos dados, foi determinado que o conjunto de dados é big data ou não.

  • Variedade

Variedade significa natureza, estrutura e tipo de dados que estão sendo usados.

  • Velocidade

Velocity representa a velocidade dos dados que foram armazenados e gerados em um fluxo de processo de desenvolvimento específico.

  • Veracidade

Veracidade significa a qualidade dos dados que foram capturados e também ajuda a análise de dados a atingir o destino pretendido.

O HDFS foi projetado principalmente para armazenar uma quantidade muito grande de informações (terabytes ou petabytes) em um grande número de máquinas em um cluster. Sempre mantendo algumas características comuns, como a confiabilidade dos dados, é executado no hardware comum, usando blocos para armazenar um arquivo ou parte dele, utilize o modelo 'escrever uma vez leia muitos'.

HDFS seguindo a arquitetura abaixo com o conceito de Nó de nome e Nó de dados.

A responsabilidade do Nó de Nome (Mestre):

- gerencia o espaço para nome do sistema de arquivos

- mantém a configuração do cluster

- Responsável pelo gerenciamento de replicação

A responsabilidade do nó de dados (escravos):

- Armazene dados no sistema de arquivos local

- Relatar periodicamente de volta ao nó de nome por meio de pulsação

Operação de gravação HDFS:

O Hadoop segue as etapas abaixo para gravar qualquer arquivo grande:

  1. Crie um arquivo e atualize a imagem do FS após obter uma solicitação de gravação de arquivo de qualquer cliente HDFS.
  2. Obtenha a localização do bloco ou as informações detalhadas dos nós de dados do nó de nome.
  3. Escreva o pacote em um nó de dados individual de maneira paralela.
  4. Confirme a conclusão ou aceite a gravação de pacotes e envie as informações de volta ao cliente Hadoop.

Pipeline de replicação de blocos do HDFS:

  1. O cliente recupera uma lista de Datanodes do Namenode que hospedará uma réplica desse bloco
  2. O cliente então libera o bloco de dados para o primeiro Datanode
  3. O primeiro Datanode recebe um bloco, grava-o e transfere-o para o próximo nó de dados no pipeline
  4. Quando todas as réplicas são gravadas, o Cliente passa para o próximo bloco no arquivo

Tolerância a falhas do HDFS:

Um nó de dados caiu repentinamente; nesse caso, o HDFS tem a capacidade de gerenciar esse cenário automaticamente. Primeiro, todo nó de nome sempre recebe uma pulsação de cada nó de dados; se, de alguma forma, perdeu uma pulsação de um nó de dados, considerando o mesmo nó de dados inativo, imediatamente executa uma ação para replicar automaticamente todos os blocos nos nós restantes imediatamente para satisfazer a replicação. fator.

Se o nó de nome detectar um novo nó de dados disponível no cluster, ele imediatamente reequilibrará todos os blocos, incluindo o nó de dados adicionado.

Agora, de alguma forma, perda ou falha do nó de nome, nesse caso, também o nó de backup que mantém uma imagem FS do nó de nome, reproduz toda a operação do FS imediatamente e sobe o nó de nome conforme o requisito. Mas, nesse caso, é necessária a intervenção manual, e toda a estrutura do ecossistema do Hadoop ficará inativa por algumas vezes para configurar um novo nó de nome novamente. Portanto, nesse caso, o nó de nome pode ser uma falha de ponto único, para evitar esse cenário, a HDFS Federation introduzindo vários clusters configurados no nó de nome e o ZooKeeper pode gerenciar imediatamente um nó de nome alternativo, conforme o requisito.

Exemplos de ecossistema Hadoop

O exemplo completo do ecossistema Hadoop pode ser explicado corretamente na figura abaixo:

Os dados podem vir de qualquer tipo de fonte, como Data Warehouse, Repositório de Documentos Gerenciados, Compartilhamento de Arquivos, RDMS normal baseado em banco de dados ou nuvem ou fontes externas. Todos esses dados chegaram ao HDFS em estrutura ou não-estrutura ou semi-estrutura. O HDFS armazena todos esses dados de maneira distribuída, significa armazenar de maneira inteligente o sistema de mercadorias distribuídas.

Conclusão

O ecossistema Hadoop foi projetado principalmente para armazenar e processar grandes dados, que deveriam apresentar qualquer um dos dois fatores entre volume, velocidade e variedade. Ele armazena dados em um sistema de processamento distribuído que roda em hardware comum. Considerando o processo completo do ecossistema do Hadoop, o HDFS distribui os blocos de dados e o Map Reduce fornece a estrutura de programação para ler dados de um arquivo armazenado no HDFS.

Artigos recomendados:

Este foi um guia para o ecossistema Hadoop. Aqui discutimos o conceito básico sobre o Hadoop Ecosystem, sua arquitetura, operações HDFS, exemplos, tolerância a falhas do HDFS etc. Você também pode consultar os seguintes artigos para saber mais -

  1. Usos do Hadoop no mundo real
  2. Hadoop vs Splunk
  3. Carreira no Hadoop
  4. Desempenho Hadoop vs SQL

Categoria: