Hadoop sistema de arquivos distribuídos (hdfs) para projetos de big data

O Hadoop Distributed File System é uma abordagem versátil, resistente, cluster para o gerenciamento de arquivos em um ambiente de dados grande. HDFS não é o destino final para os arquivos. Pelo contrário, é um serviço de dados que oferece um conjunto exclusivo de capacidades necessárias quando os volumes e velocidade de dados são elevados. Porque os dados são gravados uma vez e depois lido muitas vezes depois disso, em vez das constantes de leitura-escreve de outros sistemas de arquivos, HDFS é uma excelente escolha para apoiar a análise de dados grande.

Video: O que é Hadoop (Parte 2)

NameNodes Big Data

HDFS funciona por quebrar arquivos grandes em pedaços menores chamados blocos. Os blocos são armazenadas em nós de dados, e é da responsabilidade do NameNode para saber o que blocos em que nós de dados compõem o arquivo completo. O NameNode também atua como um “guarda de trânsito”, gerenciamento de todo o acesso aos arquivos.

A coleção completa de todos os arquivos no cluster é por vezes referido como o sistema de arquivos namespace. É o trabalho do NameNode para gerir este namespace.

Mesmo que existe uma forte relação entre o NameNode e os nós de dados, eles operam de forma “desamarrado”. Isso permite que os elementos do cluster para se comportar de forma dinâmica, adicionando servidores como a demanda aumenta. Em uma configuração típica, você encontrar um NameNode e, possivelmente, um nó de dados rodando em um servidor físico no rack. Outros servidores executar apenas nós de dados.

Os nós de dados comunicar entre si, para que possam cooperar durante as operações normais do sistema de arquivos. Isto é necessário porque os blocos para um arquivo são susceptíveis de ser armazenados em vários nós de dados. Desde o NameNode é tão crucial para a correta operação do cluster, ele pode e deve ser replicado para se proteger contra um único ponto de falha.

nós de dados grandes

nós de dados não são inteligentes, mas eles são resistentes. Dentro do cluster HDFS, blocos de dados são replicados em vários nós de dados e acesso é gerido pela NameNode. O mecanismo de replicação é concebido para a máxima eficiência, quando todos os nós do cluster são recolhidos num bastidor. Na verdade, o NameNode usa um “ID cremalheira” para acompanhar os nós de dados no cluster.

nós de dados também fornecem mensagens de “Heartbeat” para detectar e garantir a conectividade entre o NameNode e os nós de dados. Quando um batimento cardíaco não está mais presente, o NameNode unmaps o nó de dados do cluster e continua a operar como se nada tivesse acontecido. Quando a pulsação retorna, ele é adicionado ao cluster transparente no que diz respeito ao utilizador ou aplicação.

A integridade dos dados é uma característica fundamental. HDFS suporta um número de recursos projetados para fornecer a integridade dos dados. Como você poderia esperar, quando os arquivos são divididos em blocos e, em seguida, distribuídos em diferentes servidores no cluster, qualquer variação na operação de qualquer elemento poderia afetar a integridade dos dados. HDFS usa logs de transação e validação de soma de verificação para garantir a integridade em todo o cluster.

logs de transação manter o controle de todas as operações e são eficazes na auditoria ou reconstrução do sistema de arquivos se algo ocorrer perversa.

validações de checksum são utilizados para garantir o conteúdo dos arquivos no HDFS. Quando um cliente solicita um arquivo, ele pode verificar o conteúdo examinando seu checksum. Se o checksum, a operação de arquivo pode continuar. Se não, um erro é relatado. arquivos de checksum estão escondidos para ajudar a evitar adulterações.

nós de dados usar discos locais no servidor de mercadoria para a persistência. Todos os blocos de dados são armazenados localmente, principalmente por razões de desempenho. blocos de dados são replicados em vários nós de dados, de modo que a falha de um servidor pode não necessariamente um arquivo corrompido. O grau de replicação, o número de nós de dados, e o espaço de nomes HDFS são estabelecidas quando o conjunto é aplicado.

HDFS para big data

HDFS aborda grandes desafios dados por quebrar arquivos em uma coleção relacionada de blocos menores. Estes blocos são distribuídos entre os nós de dados no cluster HDFS e são geridas pelo NameNode. tamanhos de bloco são configuráveis ​​e são geralmente 128 megabytes (MB) ou 256 MB, o que significa que um arquivo de 1GB consome oito blocos 128MB para suas necessidades de armazenamento básicos.

Video: Cluster Hadoop. Sistema de Archivos Distribuido HDFS. Ubuntu

HDFS é resistente, assim que estes blocos são replicadas em todo o cluster em caso de falha do servidor. Como é que HDFS manter o controle de todas essas peças? A resposta curta é sistema de arquivos metadados.

Metadados é definida como Pense em HDFS metadados como um modelo para fornecer uma descrição detalhada dos procedimentos a seguir “dados sobre dados.”:



  • Quando o arquivo foi criado, acessado, modificado, apagado, e assim por diante

  • Onde os blocos do arquivo são armazenados no cluster

  • Quem tem os direitos para exibir ou modificar o arquivo

  • Quantos arquivos são armazenados no cluster

  • Como os dados existem muitos nós no cluster

  • A localização do log de transações para o cluster

HDFS metadados são armazenados no NameNode, e enquanto o cluster está a funcionar, todos os metadados é carregado na memória física do servidor NameNode. Como você poderia esperar, o maior cluster, maior a pegada de metadados.

O que faz exatamente um servidor bloco de fazer? Confira a lista a seguir:

  • Armazena os blocos de dados no sistema do servidor de arquivos local. HDFS está disponível em muitos sistemas operacionais diferentes e se comporta da mesma seja em Windows, Mac OS ou Linux.

  • Armazena os metadados de um bloco no sistema de arquivos local com base no modelo de metadados no NameNode.

  • Executa validações periódicas de somas de verificação de arquivos.

  • Envia relatórios regulares ao NameNode sobre o que os blocos estão disponíveis para operações de arquivo.

  • Fornece metadados e dados para clientes sob demanda. HDFS suporta acesso direto aos nós de dados de programas aplicativos cliente.

  • Encaminha os dados para outros nós de dados com base em um modelo de “pipeline”.

colocação de bloco nos nós de dados é fundamental para a replicação de dados e suporte para pipelining dados. HDFS mantém uma réplica de cada bloco localmente. HDFS é grave sobre a replicação de dados e resiliência.


Publicações relacionadas