O HDFS foi projetado para armazenar arquivos grandes como uma sequência de blocos. Em relação à replicação dos dados, assinale a afirmativa incorreta.
- A)A replicação de blocos de dados não ocorre quando o NameNode está no estado Safemode.
Certa: em safemode o NameNode restringe operacoes normais, inclusive a criacao/replicacao regular de blocos ate sair desse estado.
- B)O fator de replicação pode ser especificado no momento da criação de um arquivo e pode ser alterado posteriormente.
Certa: o fator de replicacao pode ser definido na criacao e alterado posteriormente por comandos do HDFS.
- C)Os arquivos no HDFS são de gravação única (write-once) com exceção para acréscimos e truncamentos, e têm estritamente um writer a qualquer momento.
Certa: o HDFS foi projetado como write-once com um writer por vez, admitindo excecoes como append e truncate em determinadas versoes.
- D)Um bloco é considerado replicado com segurança quando as três réplicas desse bloco de dados são verificadas com o NameNode.
Errada: nao existe regra de que um bloco so seja considerado seguro apos "três réplicas verificadas"; o criterio e o fator de replicacao configurado e o estado de consistencia monitorado pelo NameNode.
- E)Como o NameNode não permite que os DataNodes tenham várias réplicas do mesmo bloco, o número máximo de réplicas criadas é o número total de DataNodes naquele momento.
Certa em termos gerais: o HDFS nao cria varias copias do mesmo bloco no mesmo DataNode, e o limite pratico de replicas simultaneas depende da quantidade de DataNodes disponiveis.
Gabarito: D
O HDFS foi feito para guardar arquivos muito grandes dividindo tudo em blocos e espalhando essas partes pelo cluster. A ideia é simples: se um DataNode cair, outra cópia do bloco continua viva em outro lugar. Por isso a replicacao e parte central do projeto, e o NameNode controla o mapa de onde cada bloco esta e quantas copias existem. A regra importante e que o fator de replicacao nao e fixo por natureza: ele pode ser definido na criacao do arquivo e tambem alterado depois, com os comandos apropriados. O valor padrao costuma ser 3, mas isso e configuracao, nao dogma. O arquivo HDFS tradicional e write-once, com uma escrita por vez, permitindo excecoes como append e truncate nas versoes que suportam isso. O ponto da questao esta na alternativa D: um bloco nao e considerado seguro porque "três réplicas foram verificadas com o NameNode". O conceito correto e que o bloco fica adequadamente replicado quando atinge o fator de replicacao configurado e o NameNode passa a enxergá-lo como satisfeito em termos de copia. Em outras palavras, nao existe essa regra magica de "três verificacoes" como criterio universal. A segurança da replicacao depende do fator definido, nao de um numero fixo em qualquer contexto. Em safemode, o NameNode entra em modo de protecao para processar os blocos recebidos e garantir consistencia antes de liberar operacoes normais, entao a replicacao nao funciona como em regime pleno. Esse tipo de detalhe a FGV adora, porque mistura comportamento do sistema com formulacao quase correta para ver se voce escorrega no termo exato.