Hadoop distributed file system (hdfs) alta disponibilidade

Muitas vezes, na infância do Hadoop, uma grande quantidade de discussão foi centrada na representação do NameNode de um ponto único de falha. Hadoop, em geral, sempre teve uma arquitetura robusta e tolerante a falhas, com excepção desta área chave. Sem a NameNode, não há nenhuma cluster do Hadoop.

Usando Hadoop 2, você pode configurar HDFS de modo que há uma NameNode ativa e uma NameNode Standby. A espera NameNode precisa estar em um nó mestre dedicado que é configurada de forma idêntica ao nó mestre utilizado pelo Activo NameNode.

A espera NameNode não está sentado de braços cruzados enquanto a NameNode lida com todas as solicitações de endereço bloco. A espera NameNode, carregado com a tarefa de manter o estado dos locais de bloco e bloco de metadados na memória, lida com as responsabilidades checkpointing HDFS.

O NameNode Ativo escreve entradas de diário sobre as mudanças de arquivo para a maioria dos serviços JournalNode, que se deslocam sobre os nós mestre. (Nota: A solução HDFS alta disponibilidade requer pelo menos três nós mestre, e se houver mais, pode haver apenas um número impar).

Se ocorrer uma falha, o Standby Nó primeiro lê todos os lançamentos concluídos (onde a maioria dos Journal nós têm uma entrada, em outras palavras), para garantir que o novo NameNode ativo é totalmente consistente com o estado do cluster.

Zookeeper é usado para monitorar o NameNode Ativo e para lidar com a logística de failover se o NameNode ativo torna-se indisponível. Controladores de ambos os NameNodes ativos e em espera dedicaram Zookeeper Failover (ZFC) que executam as tarefas de monitoramento e failover. Em caso de falha, o ZFC informa as instâncias Zookeeper no cluster, que, em seguida, eleger um novo NameNode Ativo.

Apache Zookeeper fornece serviços de coordenação e de configuração para sistemas distribuídos, por isso é nenhuma maravilha que nós vê-lo usado em todo o lugar em Hadoop.


Publicações relacionadas