Nodes Master na Hadoop Clusters

Os nós mestre em clusters Hadoop distribuídos sediar os vários serviços de armazenamento e gerenciamento de processamento, descritas nesta lista, para todo o cluster Hadoop. A redundância é fundamental para evitar pontos únicos de falha, então você vê dois interruptores e três nós mestre.

  • NameNode: Gere o armazenamento HDFS. Para garantir a alta disponibilidade, você tem tanto um NameNode ativa e uma NameNode de espera. Cada roda em seu próprio nó mestre, dedicado.

  • nó de ponto de verificação (ou nó de backup): fornece checkpointing serviços para o NameNode. Isso envolve a leitura do log de edição do NameNode para alterações em arquivos no HDFS (novos, excluídos e arquivos anexados) desde o último checkpoint, e aplicá-las ao arquivo mestre do NameNode que mapeia os arquivos de blocos de dados.

    Além disso, o nó de backup mantém uma cópia do espaço de nomes do sistema de arquivos na memória e mantém em sincronia com o estado da NameNode. Para implantações de alta disponibilidade, não use um nó de ponto de verificação ou nó de backup - usar um NameNode Standby vez. Além de ser uma espera activa para o NameNode, a espera NameNode mantém os serviços de checkpointing e mantém uma cópia up-to-date do espaço de nomes do sistema de arquivos na memória.

  • JournalNode: Recebe modificações de edição de log indicando alterações em arquivos no HDFS do NameNode. Pelo menos três serviços JournalNode (e é sempre um número ímpar) deve estar rodando em um cluster, e eles são leves o suficiente para que eles possam ser colocado juntamente com outros serviços nos nós mestre.

  • Gerente de Recursos: Supervisiona o agendamento de tarefas e gestão dos recursos do cluster Hadoop aplicação. Este serviço é o coração do fio.

  • JobTracker: Para servidores Hadoop 1, lida com o gerenciamento de recursos de cluster e programação. Com FIO, o JobTracker é obsoleto e não é utilizado. Um número de Hadoop implantações ainda não migraram para Hadoop 2 e os fios.

  • HMaster: Monitora os servidores região HBase e lida com todas as alterações de metadados. Para garantir a alta disponibilidade, certifique-se de usar uma segunda instância HMaster. O serviço HMaster é leve o suficiente para ser colocado juntamente com outros serviços nos nós mestre. Em Hadoop 1, instâncias do serviço HMaster executado em nós mestre. Em Hadoop 2, com Hoya (HBase em fio), as instâncias HMaster correr em recipientes sobre nós escravos.

  • Zookeeper: Coordenadas componentes distribuídos e fornece mecanismos para mantê-los em sincronia. Zookeeper é usado para detectar a falha do NameNode e eleger um novo NameNode. Também é usado com HBase para gerir os estados do HMaster e os RegionServers.

    Tal como acontece com o JournalNode, você precisa de pelo menos três instâncias de nós Zookeeper (e sempre um número ímpar), e eles são leves o suficiente para ser colocado juntamente com outros serviços nos nós mestre.

    image0.jpg

Aqui, você tem três nós principal (com o mesmo hardware), onde os serviços essenciais NameNode ativo, espera NameNode, e Gerenciador de Recursos cada um tem seu próprio servidor. Há serviços JournalNode e Zookeeper em execução em cada servidor, bem como, mas estes são leves e não vai ser uma fonte de contenção de recursos com os serviços NameNode e gerenciador de recursos.

image1.jpg

Os princípios são os mesmos para Hadoop 1, onde você precisa de um nó mestre dedicado para o NameNode, NameNode secundário e serviços JobTracker.

Se você pretende usar HBase com Hoya em Hadoop 2, você não precisa de quaisquer serviços adicionais. Para Hadoop 1 implementações usando HBase, veja a figura a seguir para a implantação de serviços em nós mestre do cluster Hadoop.

image2.jpg

Há duas diferenças quando se comparam estes servidores mestres para os servidores mestres Hadoop 1 sem o apoio HBase: aqui você precisa de dois serviços HMaster (um para coordenar HBase, e um para atuar como um modo de espera) e serviços Zookeeper em todos os três nós mestre para lidar com failover .

Se você pretende usar seu cluster Hadoop 1 apenas para HBase, você pode fazer sem o serviço JobTracker, uma vez que HBase não depende da infra-estrutura MapReduce do Hadoop 1.

Quando as pessoas falam sobre o hardware para o Hadoop, eles geralmente enfatizam o uso de mercadoria componentes - os baratos. Porque você tem que gastar para baixo por apenas alguns nós mestre (normalmente, três ou quatro), não são atingidos pela multiplicação dos custos se, por exemplo, você decidir usar discos rígidos caros.

Tenha em mente que, sem nós mestre, não há cluster do Hadoop. nós mestre servem a uma função de missão crítica, e mesmo que você precisa de redundância, você deve projetar-los com alta disponibilidade e resiliência em mente.

armazenamento recomendada

Para os nós mestre Hadoop, independentemente do número de nós escravo ou utilizações do conjunto, as características do armazenamento são consistentes. Use quatro unidades de 900GB SAS, juntamente com um controlador de disco rígido RAID configurado para RAID 1 + 0. As unidades SAS são mais caros do que os discos SATA, e têm menor capacidade de armazenamento, mas eles são mais rápidos e muito mais confiável.

A implantação de suas unidades SAS como um array RAID assegura que os serviços de gestão do Hadoop tem uma loja redundante para seus dados de missão crítica. Isto dá-lhe espaço de armazenamento suficiente estável, rápido, e redundante para apoiar a gestão do seu cluster Hadoop.

processadores recomendadas

No momento da redação deste artigo, a maioria das arquiteturas de referência recomendamos o uso de placas-mãe com dois soquetes de CPU, cada um com seis ou oito núcleos. A arquitetura Intel Ivy Bridge é comumente usado.

memória recomendada

Os requisitos de memória variam consideravelmente, dependendo da escala de um cluster Hadoop. A memória é um fator crítico para nós mestre do Hadoop porque os servidores NameNode ativo e em espera dependem fortemente de RAM para gerenciar HDFS. Como tal, utilizar a memória de correção de erros (ECC) para nós mestre do Hadoop. Normalmente, nós mestre precisa entre 64 GB e 128 GB de RAM.

O requisito de memória NameNode é uma função direta do número de blocos de arquivos armazenados no HDFS. Como regra, o NameNode usa cerca de 1 GB de RAM por milhão de blocos HDFS. (Lembre-se que os arquivos são divididos em blocos individuais e replicado para que você tenha três cópias de cada bloco.)

As exigências de memória do Gerenciador de recursos, HMaster, Zookeeper, e servidores JournalNode são consideravelmente menos do que para o servidor NameNode. No entanto, é boa prática para o tamanho dos nós mestre de uma forma consistente, de modo que eles são intercambiáveis ​​em caso de falha de hardware.

rede recomendada

Comunicação rápida é vital para os serviços em nós mestre, por isso recomendamos o uso de um par de conexões 10GbE ligados. Este par ligado fornece redundância, mas também dobra o rendimento de 20GbE. Para clusters menores (por exemplo, menos de 50 nós) que você poderia fugir com o uso 1 conectores GbE.

menu