Visão geral da Hadoop 2.0 Cluster Architecture Federation



O Apache Hadoop 2.x consiste em melhorias significativas em relação ao Hadoop 1.x. Este blog fala sobre Hadoop 2.0 Cluster Architecture Federation e seus componentes.

Federação de Arquitetura de Cluster Hadoop 2.0

Introdução:

Neste blog, vou mergulhar fundo na Federação de Arquitetura de Cluster Hadoop 2.0. O Apache Hadoop evoluiu muito desde o lançamento do Apache Hadoop 1.x. Como você sabe do meu blog anterior que o segue a Topologia Mestre / Escravo, onde NameNode atua como um daemon mestre e é responsável por gerenciar outros nós escravos chamados DataNodes. Neste ecossistema, este único Master Daemon ou NameNode torna-se um gargalo e, ao contrário, as empresas precisam ter NameNode, que é altamente disponível. Essa mesma razão se tornou a base da Arquitetura da Federação HDFS e Arquitetura HA (alta disponibilidade) .

def __init __ (self):

Os tópicos que abordei neste blog são os seguintes:





  • A arquitetura HDFS atual
  • Limitações da arquitetura HDFS atual
  • Arquitetura de Federação HDFS

Visão geral da arquitetura HDFS atual:

Arquitetura de HDFS de namespace único - Visão geral da Federação de Arquitetura de Cluster Hadoop 2.0 - Edureka

Como você pode ver na figura acima, o HDFS atual tem duas camadas:



  • Namespace HDFS (NS): Esta camada é responsável por gerenciar os diretórios, arquivos e blocos. Ele fornece todas as operações do Sistema de Arquivos relacionadas ao Namespace, como criar, excluir ou modificar os arquivos ou diretórios de arquivos.
  • Camada de armazenamento: É composto por dois componentes básicos.
    1. Gestão de Bloco : Ele executa as seguintes operações:
      • Verifica as pulsações de DataNodes periodicamente e gerencia a associação do DataNode ao cluster.
      • Gerencia os relatórios de bloco e mantém a localização do bloco.
      • Suporta operações de bloco como criação, modificação, exclusão e alocação de localização de bloco.
      • Mantém o fator de replicação consistente em todo o cluster.

2 Armazenamento Físico : É gerenciado por DataNodes, que são responsáveis ​​por armazenar dados e, portanto, fornece acesso de leitura / gravação aos dados armazenados no HDFS.

Portanto, a arquitetura HDFS atual permite que você tenha um único namespace para um cluster. Nesta arquitetura, um único NameNode é responsável por gerenciar o namespace. Esta arquitetura é muito conveniente e fácil de implementar. Além disso, fornece capacidade suficiente para atender às necessidades do pequeno cluster de produção.

Limitações do HDFS atual:

Conforme discutido anteriormente, o HDFS atual foi suficiente para as necessidades e casos de uso de um pequeno cluster de produção. Mas, grandes organizações como Yahoo e Facebook encontraram algumas limitações à medida que o cluster HDFS cresceu exponencialmente. Vamos dar uma olhada rápida em algumas das limitações:



  1. O namespace é não escalável como DataNodes. Portanto, podemos ter apenas aquele número de DataNodes no cluster que um único NameNode pode manipular.
  2. As duas camadas, ou seja, a camada de namespace e a camada de armazenamento são fortemente acoplado o que torna a implementação alternativa de NameNode muito difícil.
  3. O desempenho de todo o sistema Hadoop depende do Taxa de transferência do NameNode. Portanto, todo o desempenho de todas as operações HDFS depende de quantas tarefas o NameNode pode manipular em um determinado momento.
  4. O NameNode armazena todo o namespace na RAM para acesso rápido. Isso leva a limitações em termos de Tamanho da memória ou seja, o número de objetos de namespace (arquivos e blocos) com os quais um único servidor de namespace pode lidar.
  5. Muitas das organizações (fornecedor) com implantação HDFS permitem que várias organizações (locatário) usem seu namespace de cluster. Portanto, não há separação de namespace e, portanto, há sem isolamento entre a organização locatária que está usando o cluster.

Arquitetura de Federação HDFS:

  • Na Arquitetura de Federação HDFS, temos escalabilidade horizontal de serviço de nomes. Portanto, temos vários NameNodes federados, ou seja, independentes uns dos outros.
  • Os DataNodes estão presentes na parte inferior, ou seja, na camada de armazenamento subjacente.
  • Cada DataNode se registra com todos os NameNodes no cluster.
  • Os DataNodes transmitem batimentos cardíacos periódicos, bloqueiam relatórios e controlam comandos dos NameNodes.

A representação pictórica da Arquitetura da Federação HDFS é fornecida abaixo:

Antes de prosseguir, deixe-me falar brevemente sobre a imagem arquitetônica acima:

  • Existem vários namespaces (NS1, NS2, ..., NSn) e cada um deles é gerenciado por seu respectivo NameNode.
  • Cada namespace tem seu próprio pool de blocos (NS1 tem Pool 1, NSk tem Pool k e assim por diante).
  • Conforme mostrado na imagem, os blocos do pool 1 (azul celeste) são armazenados no DataNode 1, DataNode 2 e assim por diante. Da mesma forma, todos os blocos de cada pool de blocos residirão em todos os DataNodes.

Agora, vamos entender os componentes da Arquitetura da Federação HDFS em detalhes:

Pool de blocos:

O pool de blocos nada mais é do que um conjunto de blocos pertencentes a um namespace específico. Portanto, temos uma coleção de pool de blocos onde cada pool de blocos é gerenciado independentemente um do outro. Essa independência em que cada pool de blocos é gerenciado independentemente permite que o namespace crie IDs de bloco para novos blocos sem a coordenação com outros namespaces. Os blocos de dados presentes em todo o pool de blocos são armazenados em todos os DataNodes. Basicamente, o pool de blocos fornece uma abstração de forma que os blocos de dados que residem nos DataNodes (como na Arquitetura de Espaço de Nomes Único) podem ser agrupados correspondendo a um determinado espaço de nomes.

o que é sincronização em java

Volume do namespace:

O volume do namespace nada mais é do que um namespace junto com seu pool de blocos. Portanto, na HDFS Federation, temos vários volumes de namespace. É uma unidade de gerenciamento independente, ou seja, cada volume de namespace pode funcionar independentemente. Se um NameNode ou namespace for excluído, o pool de blocos correspondente que reside nos DataNodes também será excluído.

Demonstração na Federação de Arquitetura de Cluster Hadoop 2.0 | Edureka

Agora, acho que você tem uma boa ideia sobre a Arquitetura de Federação HDFS. É mais um conceito teórico e as pessoas não o usam em um sistema de produção prático em geral. Existem alguns problemas de implementação com o HDFS Federation que dificultam a implantação. Portanto, o Arquitetura HA (alta disponibilidade) é preferível para resolver o problema de Ponto Único de Falha. Eu cobri o Arquitetura HDFS HA no meu próximo blog.

Agora que você entendeu a arquitetura Hadoop HDFS Federation, confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso Edureka Big Data Hadoop Certification Training ajuda os alunos a se tornarem especialistas em HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume e Sqoop usando casos de uso em tempo real no varejo, mídia social, aviação, turismo, domínio financeiro.

Tem alguma questão para nós? Mencione isso na seção de comentários e entraremos em contato com você.