Qual é o fator de replicação no HDFS e como podemos defini-lo?


Melhor resposta

Bem, o fator de replicação é 3 Por padrão em HDFS . Neste, um é o bloco original e duas réplicas.

Mas pode ser Definir por nós.

Deixe-me explicar a maneira de fazer isso.

Veja, existem duas maneiras de fazer isso. Uma é usando o comando e outro é uma mudança direta em hdfs-site.xml arquivo.

O primeiro é simples, você só precisa digitar o comando da seguinte maneira:

Você também pode alterar o fator de replicação em por arquivo usando o shell Hadoop FS .

[sawant@localhost ~]$ hadoop fs –setrep –w 3 /my/file

Como alternativa, você pode alterar o fator de replicação de todos os arquivos em um diretório.

[sawant@localhost ~]$ hadoop fs –setrep –w 3 -R /my/dir

como você vê o comando acima, apenas substitua 3 por qualquer que seja o seu requisito.

Vamos entender o segundo …

Abra o site hdfs .xml arquivo. Esse arquivo geralmente é encontrado na pasta conf / do diretório de instalação do Hadoop. Altere ou adicione a seguinte propriedade a hdfs-site.xml….

dfs.replication

3

Block Replication

hdfs-site.xml é usado para configurar o HDFS. Alterar a propriedade dfs.replication em hdfs-site.xml mudará a replicação padrão para todos os arquivos colocados em HDFS.

Na propriedade dfs.replication acima, substitua 3 por qualquer que seja seu requisito.

Obrigado !!

Resposta

O verdadeiro motivo para escolher a replicação de três é que é o menor número que permite um design altamente confiável. Vamos fazer uma análise real do motivo.

Considere que você perderá dados se tiver uma falha de hardware no hardware que armazena cada réplica dos dados. Para discos giratórios modernos, a taxa de falha é relativamente simples e é cerca de 5\% ao ano (seus números podem ser maiores ou menores dependendo do método de estimativa e do hardware que você comprar). Se todas as falhas são independentes (não são, na verdade, já que você obtém lotes ruins), isso significa que os discos individuais falham a uma taxa de cerca de 1,6e-9 falhas por segundo e as falhas devem ser distribuídas de acordo com uma distribuição de Poisson. Mil discos devem ter uma perda de dados em cerca de 1000 vezes esta taxa em curtos períodos de tempo se você não assumir nenhuma replicação.

Podemos usar esses números para calcular algo chamado tempo médio para perda de dados. No caso de um único disco, você tem 95\% de chance de reter seus dados após um ano, mas no caso de mil discos, você tem uma chance insignificante de evitar a perda de dados após um ano. Francamente, não acho que mesmo o caso de um único disco seja aceitável.

Então, replicamos os dados.

O caso de mil discos terá cerca de 50 falhas por ano, o que se traduz em uma perda de disco a cada semana ou assim. Isso não significa que acontecerá em intervalos semanais exatos. Significa apenas que o tempo médio entre as falhas de disco será de cerca de uma semana. Depois de uma falha de disco, teremos que replicar novamente os dados, porque não queremos um sistema que se degrade com o tempo. Se pudermos replicar os dados antes que o próximo disco falhe que contém nossos dados, nosso sistema evitará a perda de dados devido à primeira falha.

O truque, no entanto, é que o tempo entre os discos individuais as falhas diminuirão à medida que os sistemas aumentam de tamanho. Se projetarmos bem as coisas, no entanto, o tempo de replicação irá * diminuir * na mesma proporção. O tempo de recuperação dependerá do número de drives por máquina e da largura de banda da rede entre as máquinas.

Isso significa que podemos fazer uma estimativa rápida do tempo médio de perda de dados com bastante facilidade. Para duas cópias, precisamos calcular a taxa de perda de disco e, em seguida, calcular a probabilidade de outra perda de disco durante o tempo de recuperação dessa perda. Para duas cópias, precisamos estender isso ao caso em que duas unidades morrem durante o tempo de recuperação da primeira unidade. Isso se torna mais complexo quando você distribui discos e tem estratégias de recuperação sofisticadas que tentam manter a operação normal após a primeira falha, mas que dedicam todos os recursos à recuperação após a segunda falha.

Se você fizer as contas, uma cópia dos dados oferece uma probabilidade muito alta (quase certa, na verdade) de perder dados em um grande cluster.

Para duas cópias, você tem uma probabilidade de perder dados na faixa de 0,3 \% – 5\% dependendo dos parâmetros do seu cluster. Isso não é bom o suficiente para a maioria das empresas, mas alguns aplicativos podem tolerar isso.

Para três cópias, você geralmente pode estender a probabilidade de perda de dados para ,1\% ao ano, equivalente a um tempo médio de perda de dados de 1000 anos ou mais se você fizer as coisas certas.

Então esse é o motivo.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *