Noções básicas sobre tipos de nó: nós primários, centrais e de tarefa - Amazon EMR

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Noções básicas sobre tipos de nó: nós primários, centrais e de tarefa

Use esta seção para entender como a Amazon EMR usa cada um desses tipos de nós e como base para o planejamento da capacidade do cluster.

Nó primário

O nó primário gerencia o cluster e normalmente executa os componentes primários de aplicações distribuídas. Por exemplo, o nó primário executa o YARN ResourceManager serviço para gerenciar recursos para aplicativos. Ele também executa o HDFS NameNode serviço, rastreia o status dos trabalhos enviados ao cluster e monitora a integridade dos grupos de instâncias.

Para monitorar o progresso de um cluster e interagir diretamente com os aplicativos, você pode se conectar ao nó primário SSH como usuário do Hadoop. Para obter mais informações, consulte Conecte-se ao nó primário usando SSH. Conectar-se ao nó primário que você acesse diretórios e arquivos, como os arquivos de log do Hadoop, diretamente. Para obter mais informações, consulte Exibir arquivos de log do . Você também pode visualizar interfaces de usuário que as aplicações publicam como sites em execução no nó primário. Para obter mais informações, consulte Visualize interfaces web hospedadas em EMR clusters da Amazon.

nota

Com o Amazon EMR 5.23.0 e versões posteriores, você pode iniciar um cluster com três nós principais para oferecer suporte à alta disponibilidade de aplicativos como YARN Resource Manager, Spark HDFS NameNode, Hive e Ganglia. O nó primário não é mais um possível ponto de falha único com esse recurso. Se um dos nós primários falhar, a Amazon EMR automaticamente passa para um nó primário em espera e substitui o nó primário com falha por um novo com as mesmas ações de configuração e bootstrap. Para obter mais informações, consulte Plan and Configure Primary Nodes.

Nós centrais

Os nós centrais são gerenciados pelo nó primário. Os nós principais executam o daemon Data Node para coordenar o armazenamento de dados como parte do Hadoop Distributed File System (). HDFS Eles também executam o daemon Task Tracker e realizam outras tarefas de computação paralelas nos dados necessários pelos aplicativos instalados. Por exemplo, um nó central executa YARN NodeManager daemons, MapReduce tarefas do Hadoop e executores do Spark.

Há apenas um grupo de instâncias principais ou uma frota de instâncias por cluster, mas pode haver vários nós em execução em várias EC2 instâncias da Amazon no grupo de instâncias ou na frota de instâncias. Com grupos de instâncias, você pode adicionar e remover EC2 instâncias da Amazon enquanto o cluster está em execução. Também é possível configurar o ajuste de escala automático para adicionar instâncias com base no valor de uma métrica. Para obter mais informações sobre como adicionar e remover EC2 instâncias da Amazon com a configuração de grupos de instâncias, consulteUse a escalabilidade de EMR cluster da Amazon para se ajustar às mudanças nas cargas de trabalho.

Com frotas de instâncias, você pode adicionar e remover instâncias efetivamente, modificando as capacidades de destino da frota de instâncias para sob demanda e spot, conforme necessário. Para obter mais informações sobre capacidades alvo, consulte Opções de frotas de instâncias.

Atenção

A remoção de HDFS daemons de um nó principal em execução ou o encerramento de nós principais corre o risco de perda de dados. Tenha cuidado ao configurar nós core para usar instâncias spot. Para obter mais informações, consulte Quando você deve usar instâncias spot?.

Nós de tarefa

Você pode usar nós de tarefas para aumentar a potência de realizar tarefas de computação paralela em dados, como tarefas do Hadoop e executores do MapReduce Spark. Os nós de tarefas não executam o daemon Data Node nem armazenam dados nele. HDFS Assim como nos nós principais, você pode adicionar nós de tarefas a um cluster adicionando EC2 instâncias da Amazon a um grupo de instâncias uniforme existente ou modificando as capacidades de destino de uma frota de instâncias de tarefas.

Com a configuração de grupo de instâncias uniforme, você pode ter um total de 48 grupos de instâncias de tarefa. A capacidade de adicionar grupos de instâncias dessa forma permite combinar tipos de EC2 instâncias e opções de preços da Amazon, como instâncias sob demanda e instâncias spot. Isso proporciona a flexibilidade necessária para atender aos requisitos de workload de uma maneira econômica.

Com a configuração de frota de instâncias, a capacidade de combinar tipos de instâncias e opções de compra está integrada e, portanto, há apenas uma frota de instâncias de tarefa.

Como as Instâncias Spot são frequentemente usadas para executar nós de tarefas, a Amazon EMR tem a funcionalidade padrão para agendar YARN trabalhos para que os trabalhos em execução não falhem quando os nós de tarefas executados em Instâncias Spot forem encerrados. EMRA Amazon faz isso permitindo que os processos principais do aplicativo sejam executados somente nos nós principais. O processo principal da aplicação controla os trabalhos em execução e precisa permanecer ativo durante a vida útil do trabalho.

A EMR versão 5.19.0 e posterior da Amazon usa o recurso integrado de rótulos de YARN nós para fazer isso. (As versões anteriores usavam um patch de código). As propriedades nas classificações de capacity-scheduler configuração yarn-site e são configuradas por padrão para que o planejador YARN de capacidade e o agendador justo aproveitem os rótulos dos nós. A Amazon rotula EMR automaticamente os nós principais com o CORE rótulo e define propriedades para que os mestres do aplicativo sejam programados somente nos nós com o CORE rótulo. A modificação manual das propriedades relacionadas nas classificações de configuração yarn-site e capacity-scheduler, ou diretamente nos XML arquivos associados, pode interromper esse recurso ou modificar essa funcionalidade.

A partir da série de lançamento Amazon EMR 6.x, o recurso de rótulos de YARN nós está desativado por padrão. Os processos primários da aplicação podem ser executados tanto nos nós centrais como nos nós de tarefa por padrão. Você pode ativar o recurso de rótulos de YARN nós configurando as seguintes propriedades:

  • yarn.node-labels.enabled: true

  • yarn.node-labels.am.default-node-label-expression: 'CORE'

Começando com a série de lançamentos Amazon EMR 7.x, a Amazon EMR atribui rótulos de YARN nós às instâncias de acordo com seu tipo de mercado, como On-Demand ou Spot. Você pode habilitar rótulos de nós e restringir os processos do aplicativo a ON_ DEMAND configurando as seguintes propriedades:

yarn.node-labels.enabled: true yarn.node-labels.am.default-node-label-expression: 'ON_DEMAND'

Se você estiver usando o Amazon EMR 7.0 ou superior, poderá restringir o processo de inscrição aos nós com o CODE rótulo usando a seguinte configuração:

yarn.node-labels.enabled: true yarn.node-labels.am.default-node-label-expression: 'CORE'

Para as EMR versões 7.2 e superiores da Amazon, se seu cluster usar escalabilidade gerenciada com rótulos de nós, a Amazon EMR tentará escalar o cluster com base no processo do aplicativo e na demanda do executor de forma independente.

Por exemplo, se você usa as EMR versões 7.2 ou superiores da Amazon e restringe o processo de aplicação a ON_DEMAND nós, a escalabilidade gerenciada aumenta a escala ON_DEMAND dos nós se a demanda do processo de aplicação aumentar. Da mesma forma, se você restringir o processo do aplicativo aos CORE nós, o escalonamento gerenciado aumenta os CORE nós se a demanda do processo do aplicativo aumentar.

Para obter informações sobre as propriedades específicas, consulte EMRConfigurações da Amazon para evitar falhas no trabalho devido ao encerramento da instância spot do nó da tarefa.