Índice:
Vídeo: Hadoop Rack Awareness 2024
Os nós mestres em clusters Hadoop distribuídos hospedam os vários serviços de gerenciamento de armazenamento e processamento, descritos nesta lista, para todo o cluster Hadoop. A redundância é fundamental para evitar pontos únicos de falha, então você vê dois switches e três nós mestres.
-
NomeNode: Gerencia o armazenamento HDFS. Para garantir alta disponibilidade, você tem um Nome de nome ativo e um Nome de nome de espera. Cada um roda por si próprio, nó mestre dedicado.
-
Nó Checkpoint (ou nó de backup): Fornece checkpointing serviços para o NameNode. Isso envolve ler o log de edição do NameNode para mudanças nos arquivos no HDFS (arquivos novos, excluídos e anexados) desde o último ponto de verificação e aplicá-los ao arquivo mestre NameNode que mapeia arquivos para 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 sincronizado com o estado do NomeNodo. Para implantações de alta disponibilidade, não use um nó de ponto de verificação ou um nó de backup - use um Nome de nome de espera em vez disso. Além de ser um modo de espera ativo para o NomeNodo, o NomeNodo de Espera mantém os serviços de verificação e mantém uma cópia atualizada do espaço de nomes do sistema de arquivos na memória.
-
JournalNode: Recebe as modificações do log de edição que indicam as alterações nos arquivos no HDFS do NameNode. Pelo menos três serviços do JournalNode (e sempre é um número ímpar) devem ser executados em um cluster e são leves o suficiente para que eles possam ser colocados com outros serviços nos nós mestres.
-
Gerenciador de recursos: Supervisa o agendamento das tarefas de aplicativos e o gerenciamento dos recursos do cluster Hadoop. Este serviço é o coração de YARN.
-
JobTracker: Para servidores Hadoop 1, lida com gerenciamento de recursos de cluster e agendamento. Com o YARN, o JobTracker é obsoleto e não é usado. Um número de implantações Hadoop ainda não migrou para Hadoop 2 e YARN.
-
HMaster: Monitora os servidores da região HBase e lida com todas as alterações de metadados. Para garantir alta disponibilidade, certifique-se de usar uma segunda instância HMaster. O serviço HMaster é leve o suficiente para ser colocado com outros serviços nos nós mestres. No Hadoop 1, as instâncias do serviço HMaster são executadas em nós mestres. Em Hadoop 2, com Hoya (HBase on Yarn), as instâncias HMaster funcionam em recipientes em nós escravos.
-
Zookeeper: Coordena os componentes distribuídos e fornece mecanismos para mantê-los sincronizados. O Zookeeper é usado para detectar a falha do NomeNodo e eleger um novo NomeNodo.Também é usado com HBase para gerenciar os estados do HMaster e 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 serem colocados com outros serviços nos nós mestres.
Aqui, você possui três nós mestres (com o mesmo hardware), onde os Nomes de Nome de Ativo, Nome de Espera e Gerenciador de Recursos, cada um possuem seu próprio servidor. Existem serviços de JournalNode e Zookeeper que funcionam em cada servidor também, mas estes são leves e não serão uma fonte de contenção de recursos com os serviços NameNode e Resource Manager.
Os princípios são os mesmos para o Hadoop 1, onde você precisa de um nó mestre dedicado para os serviços NameNode, SecondName NameNode e JobTracker.
Se você planeja usar HBase com Hoya no Hadoop 2, não precisa de nenhum serviço adicional. Para implementações do Hadoop 1 usando HBase, confira a figura a seguir para a implantação de serviços nos nós mestres do cluster Hadoop.
Existem duas diferenças ao comparar esses servidores mestre com os servidores mestre Hadoop 1 sem suporte HBase: aqui você precisa de dois serviços HMaster (um para coordenar o HBase e um para atuar como um modo de espera) e os serviços Zookeeper nos três nós principais para lidar com o failover.
Se você pretende usar o seu cluster Hadoop 1 apenas para HBase, você pode fazer sem o serviço JobTracker, uma vez que o HBase não depende da infraestrutura Hadoop 1 MapReduce.
Quando as pessoas falam sobre hardware para Hadoop, eles geralmente enfatizam o uso de commodity componentes - os de baixo custo. Porque você tem que pagar por apenas alguns nós mestres (tipicamente, três ou quatro), você não é atingido pela multiplicação de custos se, por exemplo, você decidir usar unidades de disco rígido dispendiosas.
Tenha em mente que, sem nós mestres, não existe um cluster Hadoop. Os nós mestres servem uma função de missão crítica e, mesmo que você precise de redundância, você deve projetá-los com alta disponibilidade e resiliência em mente.
armazenamento recomendado
Para os nós mestres do Hadoop, independentemente do número de nós escravos ou usos do cluster, as características de armazenamento são consistentes. Use quatro unidades SAS de 900 GB, juntamente com um controlador RAID HDD configurado para RAID 1 + 0. As unidades SAS são mais caras do que as unidades SATA e possuem menor capacidade de armazenamento, mas são mais rápidas e muito mais confiáveis.
A implantação de suas unidades SAS como uma matriz RAID garante que os serviços de gerenciamento Hadoop possuem uma loja redundante para os seus dados de missão crítica. Isso oferece armazenamento suficiente, rápido e redundante para suportar o gerenciamento do seu cluster Hadoop.
Processadores recomendados
No momento desta redação, a maioria das arquiteturas de referência recomendam o uso de placas-mãe com duas tomadas de CPU, cada uma com seis ou oito núcleos. A arquitetura Intel Ivy Bridge é comumente usada.
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 os nós mestres do Hadoop porque os servidores de nomes e nomes ativos e de confiança dependem fortemente da RAM para gerenciar o HDFS. Como tal, use memória de correção de erros (ECC) para nós mestres do Hadoop. Normalmente, os nós mestres precisam 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 geral, o NameNode usa aproximadamente 1GB de RAM por milhão de blocos HDFS. (Lembre-se de que os arquivos são divididos em blocos individuais e replicados para que você tenha três cópias de cada bloco.)
As demandas de memória dos servidores Resource Manager, HMaster, Zookeeper e JournalNode são consideravelmente menores do que para o servidor NameNode. No entanto, é uma boa prática dimensionar os nós mestres de forma consistente para que sejam intercambiáveis em caso de falha de hardware.
Rede recomendada
A comunicação rápida é vital para os serviços nos nós mestres, por isso recomendamos o uso de um par de conexões de 10GbE ligadas. Este par vinculado fornece redundância, mas também duplica o rendimento para 20GbE. Para clusters menores (por exemplo, menos de 50 nós), você pode sair com o uso de conectores de 1 GbE.