Replicando blocos de dados no Hadoop Distributed File System

Hadoop Distributed File System (HDFS) é projetado para armazenar dados sobre barato, e mais confiável, hardware. Barato tem um anel atraente para ele, mas levanta preocupações sobre a confiabilidade do sistema como um todo, especialmente para assegurar a alta disponibilidade dos dados.

Planejar com antecedência para o desastre, o cérebro por trás HDFS tomou a decisão de configurar o sistema para que ele iria armazenar três (conte-os - três) cópias de cada bloco de dados.

HDFS assume que cada unidade de disco e cada nó escravo é inerentemente não confiável, por isso, claramente, é preciso ter cuidado na escolha de onde os três cópias dos blocos de dados são armazenados.

A figura mostra como blocos de dados a partir do arquivo anterior são listrado em todo o cluster Hadoop - o que significa que eles estão uniformemente distribuídas entre os nós escravos de modo que uma cópia do bloco ainda estará disponível, independentemente de falhas de disco, nó ou rack.

image0.jpg

O ficheiro mostrado tem cinco blocos de dados, os rótulos a, b, c, d, e e. Se você tomar um olhar mais atento, você pode ver este cluster específico é composta de dois racks com dois nós de cada um, e que as três cópias de cada bloco de dados foram espalhados os diversos nós escravos.

Cada componente do cluster Hadoop é visto como um potencial ponto de falha, de modo que quando HDFS armazena as réplicas dos blocos originais no cluster Hadoop, ele tenta garantir que as réplicas de bloco são armazenados em diferentes pontos de falha.

Por exemplo, dê uma olhada no Bloco A. Na época que precisava de ser armazenado, Slave Node 3 foi escolhido, ea primeira cópia do Bloco A foi armazenado lá. Para vários sistemas de cremalheira, HDFS seguida, determina que as restantes duas cópias de bloco de uma necessidade de ser armazenada num bastidor diferente. Assim, a segunda cópia do bloco A é armazenado no nó escravo 1.

A cópia final pode ser armazenado na mesma cremalheira como a segunda cópia, mas não no mesmo nó escravo, então ela é armazenada no nó escravo 2.

menu