Alta disponibilidade de NameNode com Quorum Journal Manager



O NameNode High Availability é um dos recursos mais importantes do Hadoop 2.0 NameNode High Availability com o Quorum Journal Manager é usado para compartilhar logs de edição entre os NameNodes ativos e em espera.

Este é um dos recursos mais importantes do Hadoop 2.0. Antes de discutir o recurso de alta disponibilidade do Namenode, é essencial saber o que é Quorum. Quorum é um termo genérico usado em cluster, onde dizemos que um determinado cluster é estável. O Quorum fornece uma lista de máquinas e ajuda a determinar a integridade do cluster. Existem dois tipos de quorum: Quorum Esperado e Quorum Calculado.





Tutorial do mysql para iniciantes com exemplos

Alta disponibilidade de NameNode com Quorum Journal Manager (QJM)

Antes do Hadoop 2.0, o NameNode era um ponto único de falha (SPOF) em um cluster HDFS. Cada cluster tinha um único NameNode e, se essa máquina não estivesse disponível, o cluster como um todo ficaria indisponível até que o NameNode fosse reiniciado ou iniciado em uma máquina separada. Em um cluster HA clássico, duas máquinas separadas são configuradas como NameNodes. A qualquer momento, um dos NameNodes estará no estado Active e o outro estará no estado Standby. O Active NameNode é responsável por todas as operações do cliente no cluster, enquanto o Standby está simplesmente agindo como um escravo, mantendo o estado suficiente para fornecer um failover rápido.

Para que o nó em espera mantenha seu estado coordenado com o nó ativo, ambos os nós se comunicam com um grupo de daemons separados chamado ‘JournalNodes’ (JNs). Quando qualquer modificação do namespace é realizada pelo nó Ativo, ele registra no JournalNodes um registro das alterações feitas. O nó Standby é capaz de ler as informações corrigidas dos JNs e monitorá-los regularmente em busca de alterações. Conforme o nó em espera vê as alterações, ele as aplica ao seu próprio namespace. Em caso de failover, o Standby irá certificar-se de que leu todas as alterações do JounalNodes antes de alterar seu estado para 'estado ativo'. Isso garante que o estado do namespace seja totalmente sincronizado antes que ocorra um failover.



Para fornecer um failover rápido, é essencial que o nó Standby tenha as informações atualizadas e atuais sobre a localização dos blocos no cluster. Para que isso aconteça, os DataNodes são configurados com a localização de ambos NameNodes e enviam informações de localização de bloco e pulsações para ambos.

É essencial que apenas um dos NameNodes esteja ativo por vez. Caso contrário, o estado do namespace se desviaria entre os dois e levaria à perda de dados ou resultados incorretos. Para evitar isso, o JournalNodes permitirá apenas um único NameNode para um gravador de cada vez. Durante um failover, o NameNode que se tornará ativo assumirá a responsabilidade de gravar no JournalNodes.

Tem alguma questão para nós? Mencione-os na seção de comentários e entraremos em contato com você.



Postagens relacionadas:

Visão geral da Hadoop 2.0 Cluster Architecture Federation

def __init __ (self)