Nestetutorial do Hadoop , forneceremos uma introdução completa da Federação HDFS. Neste tutorial vamos discutir a Arquitetura HDFS, Limitações da arquitetura atual do HDFS.
Em seguida, abordaremos a arquitetura da Federação HDFS em detalhes, juntamente com suas vantagens na estrutura Hadoop.
O que é Federação HDFS?
Federação aprimora um Hadoop HDFS existente arquitetura. A arquitetura HDFS anterior permite um único namespace para todo o cluster. Nessa arquitetura, um único NameNode gerencia o namespace.
Se NameNode falhar, todo o cluster ficará fora de serviço. E o cluster ficará indisponível até que o NameNode seja reiniciado ou trazido em uma máquina separada.
A Federação HDFS foi introduzida para superar essa limitação. Ele supera isso adicionando suporte para muitos NameNode/Namespaces ao HDFS.
Arquitetura HDFS Atual
O HDFS tem duas camadas principais dadas abaixo:
a) Namespace – Essa camada gerencia arquivos, diretórios e blocos . Esta camada suporta a operação básica do sistema de arquivos, como criação e exclusão de arquivos.
b) Armazenamento em bloco – Tem duas partes-
- Gerenciamento de blocos – Ele suporta a operação relacionada ao bloco, como criação, exclusão dos blocos. Ele gerencia os nós de dados no cluster e cuida do gerenciamento da replicação.
- Armazenamento físico – Isso armazena os blocos no sistema de arquivos local e fornece acesso à operação de leitura ou gravação. Siga este link para aprender a operação de leitura e gravação de dados HDFS.
Este HDFS atual funciona bem para configurações menores. Mas, para grandes organizações onde precisamos cuidar da enorme quantidade de dados tem alguma limitação. A federação do Hadoop lida com essas limitações.
Limitação da arquitetura HDFS atual
A limitação da arquitetura HDFS atual é fornecida abaixo:
1. Armazenamento em bloco e namespace fortemente acoplados
Camada de namespace e camada de armazenamento estão fortemente acoplados. Isso dificulta a implementação alternativa do namenode. E restringe outros serviços a usar o armazenamento em bloco.
2. Escalabilidade do namespace
O namespace não é escalável como datanode. O dimensionamento no cluster HDFS é horizontal, adicionando datanodes. Mas não podemos adicionar mais namespace a um cluster existente. Podemos dimensionar verticalmente o namespace em um único namenode.
3. Desempenho
Todo o desempenho do Hadoop depende da taxa de transferência do namenode. Uma operação do sistema de arquivos atual depende da taxa de transferência de um único namenode. NameNode atualmente suporta 60.000 tarefas simultâneas.
Próximos MapReduce terá suporte para mais de 1.00.000 tarefas simultâneas. E isso vai precisar de mais namenode.
4. Isolamento
Não há separação do namespace. Portanto, não há isolamento entre a organização locatária que está usando o cluster.
HDFS Arquitetura de Federação
A federação usa muitos Namenode/namespaces independentes para dimensionar o serviço de nomes horizontalmente. Na Arquitetura de Federação HDFS, na parte inferior, os datanodes estão presentes. E os datanodes são usados como um armazenamento comum para blocos por todos os namenodes.
Cada datanodes se registra com todos os namenodes no cluster. Esses datanodes enviam pulsações periódicas, bloqueiam, reportam e manipulam comandos dos namenodes.
Muitos namenodes (NN1, NN2…, NNn) gerenciam muitos namespaces (NS1, NS2…, NSn) respectivamente. Cada namespace tem seu próprio pool de blocos (NS1 tem pool 1 e assim por diante). O bloco do pool 1 é armazenado no datanode 1 e assim por diante.
1. Bloquear pool
O conjunto de blocos é Block pool que pertence a um único namespace. Há uma coleção de pools na arquitetura de federação HDFS. E cada bloco é gerenciado a partir do outro.
Isso permite que um namespace crie um ID de bloco para novos blocos sem coordenação com outro namespace. Todos os Datanodes armazenam blocos de dados presentes em todos os pools de blocos.
2. Volume do namespace
O namespace junto com o pool de blocos é volume do namespace . Muitos volumes de namespace existem na federação HDFS. Portanto, cada volume de namespace funciona de forma independente. Quando excluímos namenode ou namespace, o pool de blocos correspondente presente nos datanodes também será excluído.
Benefícios da Federação HDFS
A Federação HDFS supera as limitações da arquitetura HDFS anterior. Por isso fornece:
- Isolamento – Não há isolamento em um único namenode em um ambiente multiusuário. Na federação HDFS, diferentes categorias de aplicativos e usuários podem ser isolados em diferentes namespaces usando muitos namenodes.
- Escalabilidade do namespace – Na federação, muitos namenodes são dimensionados horizontalmente no namespace do sistema de arquivos.
- Desempenho – Podemos melhorar o rendimento da operação de leitura/gravação adicionando mais namenodes.
Conclusão
Concluindo a Federação HDFS, podemos dizer que ela supera a limitação da arquitetura HDFS de nó único. Na arquitetura HDFS anterior para um cluster inteiro, permitia apenas um único namespace. Enquanto a Federação usa muitos Namenode/namespaces independentes para dimensionar o serviço de nomes horizontalmente.
Ele também separa a camada de namespace e o armazenamento camada. Portanto, fornece isolamento, escalabilidade e design simples.
Se você tiver alguma dúvida ou sugestão relacionada à Federação no Hadoop HDFS, informe-nos deixando um comentário.