Sistema Hadoop Distributed File (HDFS) para grandes projetos de Dados

O Hadoop Distributed File System é uma abordagem versátil, resistente, em 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 escritos uma vez e, em seguida, lido muitas vezes depois disso, em vez de as constantes de leitura-escreve de outros sistemas de arquivos, HDFS é uma excelente escolha para apoiar a análise de dados grande.

image0.jpg

NameNodes Big Data

HDFS funciona por quebrar arquivos grandes em partes menores chamadas blocos. Os blocos são armazenadas em nós de dados, e é da responsabilidade do NameNode para saber o que os blocos em que nós de dados compõem o arquivo completo. O NameNode também actua como um # 147-guarda de trânsito, # 148- gerir 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 em um # 147 fracamente acoplada # 148- moda. 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 comunicam entre si, para que possam cooperar durante as operações normais do sistema de arquivos. Isto é necessário porque os blocos para um ficheiro são susceptíveis de ser armazenados em vários nós de dados. Desde o NameNode é tão crítica para o funcionamento correcto 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 é projetado para a máxima eficiência quando todos os nós do cluster são recolhidas em um rack. Na verdade, o NameNode utiliza um # 147-rack ID # 148- para acompanhar os nós de dados no cluster.

nós de dados também fornecem # 147 batimentos cardíacos # 148- mensagens 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 soma de verificação são usadas para garantir o conteúdo dos arquivos no HDFS. Quando um cliente solicita um arquivo, ele pode verificar o conteúdo por examinar 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 commodities para 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, assim 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, eo namespace HDFS são estabelecidas quando o cluster é implementado.

HDFS para big data

HDFS aborda grandes desafios de 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 geridos 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 as suas necessidades de armazenamento básicos.

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

Metadados é definido como # 147 dados sobre dados # 148- Pense HDFS metadados como um modelo para fornecer uma descrição detalhada dos procedimentos a seguir.:

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

  • Onde os blocos do ficheiro 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 do cluster

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

HDFS metadados é armazenado no NameNode, e enquanto o agrupamento está em funcionamento, todos os metadados é carregado para a memória física do servidor NameNode. Como você poderia esperar, quanto maior o cluster, quanto 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 o 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 periódicos 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 numa # 147-pipelining # 148- modelo.

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

menu