Nós escravos no Hadoop Distributed File System (HDFS)

Em um cluster Hadoop, cada nó de dados (também conhecido como um nó escravo

) Executa um processo de fundo chamado DataNode. Este processo de fundo (também conhecido como um demônio) Mantém o controle das fatias de dados que o sistema armazena em seu computador. Ele fala regularmente para o servidor mestre para HDFS (conhecido como o NameNode) para informar sobre o estado de saúde e dos dados armazenados localmente.

Os blocos de dados são armazenados como arquivos raw no sistema de arquivos local. Do ponto de vista de um usuário do Hadoop, você não tem idéia de qual dos nós escravos tem as partes do arquivo que você precisa para processar. De dentro do Hadoop, você não vê blocos de dados ou como eles são distribuídos em todo o cluster - tudo que você vê é uma listagem de arquivos no HDFS.

A complexidade da forma como os blocos de arquivos são distribuídos em todo o cluster está escondido de você - você não sabe como é complicado tudo isso é, e você não faz necessidade saber. Na verdade, a nós escravos em si não sei mesmo o que está dentro dos blocos de dados que está armazenando. É o servidor NameNode que conhece os mapeamentos dos quais blocos de dados compõem os arquivos armazenados no HDFS.

Melhor vida através de redundância

princípio de design um núcleo de HDFS é o conceito de minimizar o custo dos nós escravos individuais usando componentes de hardware commodity. Para sistemas massivamente escaláveis, essa idéia é sensata porque os custos de propagar-se rapidamente quando você precisa de centenas ou milhares de nós escravos. Usando hardware de baixo custo tem uma consequência, porém, em que os componentes individuais não são tão confiáveis ​​quanto hardware mais caro.

Quando você está escolhendo opções de armazenamento, considere o impacto da utilização de unidades de commodities, em vez de unidades de qualidade empresarial mais caros. Imagine que você tem um cluster de 750 nós, onde cada nó tem 12 unidades de disco rígido dedicados ao armazenamento HDFS.

Com base em uma taxa de falhas anual (AFR) de 4 por cento para unidades de disco de commodities (uma dada unidade de disco rígido tem uma probabilidade de 4 por cento de falhar em um determinado ano, em outras palavras), o cluster irá provavelmente experimentar uma falha do disco rígido todos os dias Do ano.

Porque não pode haver tantos nós escravos, o seu fracasso também é uma ocorrência comum em grupos maiores, com centenas ou mais nós. Com esta informação em mente, HDFS foi projetado na premissa de que todos componentes de hardware, mesmo no nível do nó escravo, não são confiáveis.

HDFS supera a falta de fiabilidade dos componentes individuais de hardware por meio de redundância: Essa é a idéia por trás dessas três cópias de todos os arquivos armazenados no HDFS, distribuídas por todo o sistema. Mais especificamente, cada bloco de arquivo armazenado no HDFS tem um total de três réplicas. Se um sistema de quebra com um bloco de arquivo específico que você precisa, você pode ligar para os outros dois.

Esboçando design do servidor nó escravo

Para equilibrar tais fatores importantes como o custo total de propriedade, capacidade de armazenamento e desempenho, você precisa planejar cuidadosamente o design de seus nós escravos.

Você geralmente vemos nós escravos agora onde cada nó normalmente tem entre 12 e 16 unidades de disco rígido 3 TB conectados localmente. nós escravos usar moderadamente rápido CPUs dual-soquete com seis a oito núcleos cada - não há demônios velocidade, em outras palavras. Isto é acompanhado por 48GB de RAM. Em suma, este servidor é otimizado para armazenamento denso.

Porque HDFS é um sistema de arquivos de espaço ao nível do utilizador, é importante para otimizar o sistema de arquivos local sobre os nós escravos para trabalhar com HDFS. A este respeito, uma decisão de alto impacto ao configurar seus servidores é a escolha de um sistema de arquivos para a instalação do Linux nos nós de escravos.

Ext3 é o sistema de ficheiros mais comumente implantado porque tem sido a opção mais estável durante um número de anos. Dê uma olhada em Ext4, no entanto. É a próxima versão do Ext3, e está disponível o tempo suficiente para ser amplamente considerado estável e confiável.

Mais importante para os nossos propósitos, ele tem uma série de otimizações para lidar com arquivos grandes, o que torna a escolha ideal para servidores nó escravo HDFS.

Não utilizar o Logical Volume Manager Linux (LVM) - representa uma camada adicional entre o sistema de arquivos Linux e HDFS, o que impede Hadoop de otimizar seu desempenho. Especificamente, LVM agrega discos, o que dificulta a gestão de recursos que HDFS e os fios de fazer, com base em como os arquivos são distribuídos nas unidades físicas.

menu