Porque precisamos de um guarda do Zoo na pilha de Hadoop?

Sou novo no Hadoop / Zoo. Não consigo entender o propósito de usar o guarda do zoo com o Hadoop, Será Que O Guarda do Zoo está a escrever dados em Hadoop? Se não, porque usamos o tratador com o Hadoop?

Author: parrottsquawk, 2012-05-24

3 answers

Hadoop 1.x não usa tratador de Zoológico. HBase usa o tratador do Jardim zoológico mesmo em Hadoop 1.x instalações.

Hadoop adotou o tratador do zoológico, bem começando com a versão 2.0.

O objectivo do guardião do Jardim zoológico é a gestão de aglomerados. Isto se encaixa com a filosofia geral de * nix de usar componentes especializados menores - então componentes de Hadoop que querem clustering capacidades dependem de trator para isso, em vez de desenvolver seus próprios.

O Guarda Do Jardim zoológico é um armazém distribuído que oferece as seguintes garantias (copiado da página de visão geral do guardião do Jardim zoológico):

  • consistência sequencial-as actualizações de um cliente serão aplicadas na ordem para que os enviassem.
  • As actualizações da atomicidade podem ter sucesso ou falhar. Não há resultados parciais.
  • Imagem de Sistema Único-um cliente irá ver o a mesma Vista do serviço, independentemente do servidor que ele conecta para. Confiabilidade-uma vez que uma atualização seja aplicada, ela irá persistir a partir desse momento avançar até um cliente anular a actualização.
  • actualidade-a visão do sistema por parte dos clientes está garantida atualizado dentro de um determinado prazo.

Você pode usar estes para implementar diferentes "receitas " que são necessárias para a gestão de grupos como bloqueios, eleição de líderes, etc.

Se você vai usar o tratador do zoológico, eu recomendo que dê uma olhada em Curador do Netflix o que torna mais fácil de usar (por exemplo, eles implementam algumas receitas fora da caixa)

 39
Author: Arnon Rotem-Gal-Oz, 2016-07-11 08:22:20

O guardião do Jardim zoológico resolve o problema da coordenação distribuída fiável, e o hadoop é um sistema distribuído, certo?

Há um excelente algoritmo de Paxos que se pode ler sobre este assunto.

 6
Author: xiaofeng.li, 2012-05-24 07:43:47

Deguardião do Jardim zoológico Página de documentação:

ZooKeeper é um serviço centralizado para manter a informação de configuração, Nomear, Fornecer sincronização distribuída e fornecer serviços de grupo. Todos estes tipos de serviços são usados de alguma forma ou de outra por aplicações distribuídas.

Cada vez que eles são implementados há um monte de trabalho que vai para corrigir os bugs e as condições de corrida que são inevitáveis. Devido à dificuldade de implementando este tipo de serviços, As aplicações ,inicialmente, normalmente escumam nelas, o que as torna frágeis em presença de mudança e difíceis de gerir. Mesmo quando feito corretamente, diferentes implementações destes serviços levam à complexidade de gestão quando as aplicações são implantadas.

From hadoop documentation page:

O projecto Apache™ Hadoop® desenvolve software de código aberto para computação distribuída fiável, escalável.

A Apache Hadoop software library é um framework que permite o processamento distribuído de grandes conjuntos de dados através de conjuntos de computadores usando modelos de programação simples

Em relação à tua pergunta:

Porque precisamos de um guarda do Zoo em Hadoop Stack?

O factor de ligação é o processamento distribuído e a elevada disponibilidade.

Por exemplo, Hadoop Namenode falha no processo.

O Hadoop high availability foi concebido em torno do Namenode activo e do Namenode Standby por falha no processo. Em qualquer momento, você não deve ter dois mestres (Namenodes ativos) ao mesmo tempo.

Da ligação de documentação Apache em Hdfshighdisponibility Withqjm:

É vital para o correcto funcionamento de um aglomerado HA que apenas um dos NameNodes esteja activo de cada vez. Caso contrário, o estado de namespace iria rapidamente divergir entre os dois, arriscando a perda de dados ou outros resultados incorretos. A fim de garantir esta propriedade e evitar o chamado "split-brain scenario," the JournalNodes will only ever allow a single NameNode to be a writer at a time.

Durante uma falha, o NameNode que vai tornar-se ativo simplesmente assumirá o papel de escrever para os JournalNodes, o que irá efetivamente impedir o outro NameNode de continuar no estado ativo, permitindo que o novo ativo para prosseguir com segurança com failover.

O tratador do Jardim zoológico foi usado para evitar o cenário do cérebro dividido. Você pode encontrar papel de Guardião do zoológico em abaixo pergunta:

Como funciona o processo de failover do NameNode Hadoop?

 3
Author: Ravindra babu, 2017-05-23 12:18:16