Como posso configurar ou modificar a rotulagem de nós com a fila do Amazon EMR YARN Scheduler?

5 minuto de leitura
0

Quero configurar ou modificar a rotulagem de nós usando a fila do Amazon EMR Apache YARN Scheduler.

Breve descrição

As configurações padrão de rótulos de nós YARN para clusters do EMR são as seguintes:

Amazon EMR versão 5.19.x e superior na série Amazon EMR-5.x.x:

O recurso de rótulos de nós do YARN está ativado por padrão. Isso significa que o rótulo de nó CORE é criado para nós centrais com as propriedades a seguir. Os contêineres do Application-Master do YARN são alocados somente nos nós centrais. Para todos os outros contêineres, não há restrição de partição. Você pode alocar os contêineres nos nós centrais ou de tarefas.

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

Amazon EMR versão 6.X e superior:

O recurso de rótulos de nós do YARN está desativado por padrão. Os processos principais de aplicações podem ser executados nos nós principais e de tarefas.

Resolução

Observação: é uma prática recomendada realizar alterações em um ambiente de teste antes de continuar em seu ambiente de produção. Além disso, quando você desativa o recurso de rótulo de nó do YARN, o contêiner Application-Master é iniciado em qualquer tipo de nó, como central ou de tarefa. Não há restrições para os nós de tarefas. Se você configurar os nós de tarefas com instâncias spot, a execução dos trabalhos poderá falhar se o nó da tarefa ficar inativo devido à restrição de capacidade spot.

Desativar o recurso de rótulos do YARN no Amazon EMR versão 5.19.x e superior na série Amazon EMR-5.x.x

Desative o recurso de rótulo padrão do YARN ao criar um novo cluster do EMR:

1.    Adicione as seguintes propriedades na seção Edit software settings (Editar configurações do software),Enter configuration (Inserir configuração):

[
  {
    "Classification": "yarn-site",
    "Properties": {
      "yarn.node-labels.enabled": "false",
      "yarn.node-labels.am.default-node-label-expression": ""
    }
  }
]

2.    Crie um script com a extensão .sh usando o conteúdo a seguir e carregue em um bucket do Amazon Simple Storage Service (Amazon S3).

3.    Na seção Bootstrap Actions (Ações de bootstrap), adicione o script recém-criado como uma ação personalizada e continue com a criação do cluster.

#!/bin/bash
sudo sed -i 's/yarn rmadmin -addToClusterNodeLabels "CORE(exclusive=false)"/echo "NO LABELS"/g' /var/aws/emr/bigtop-deploy/puppet/modules/hadoop/manifests/init.pp

4.    Depois que a criação do cluster for concluída, confirme se a alteração foi aplicada executando o seguinte comando no nó principal:

yarn cluster --list-node-labels

A saída esperada do comando anterior, que mostra um valor vazio para rótulos de nós, é a seguinte:

<<<<< Node Labels: >>>>>>

Desative o recurso de etiqueta padrão do YARN em um cluster EMR existente:

1.    Conecte-se ao nó primário do Amazon EMR usando SSH.

2.    Crie um backup do arquivo yarn-site.xml existente. O caminho é :/etc/hadoop/conf/yarn-site.xml.

3.    Abra o yarn-site.xml no modo editor de arquivos usando o seguinte comando:

sudo su vi yarn-site.xml

4.    Altere o valor da propriedade yarn.node-labels.enabled para false (falso).

<property>
<name>yarn.node-labels.enabled</name>
<value>false</value>
</property>

5.    Remova o valor CORE na propriedade yarn.node-labels.am.default-node-label-expression conforme mostrado no exemplo a seguir:

<property>
    <name>yarn.node-labels.am.default-node-label-expression</name>
    <value></value>
  </property>

6.    Reinicie o serviço YARN ResourceManger:

sudo systemctl restart hadoop-yarn-resourcemanager.service

sudo systemctl status hadoop-yarn-resourcemanager.service

7.    Confirme se a alteração foi aplicada com êxito usando o seguinte comando:

yarn cluster --list-node-labels

A saída esperada do comando anterior, que mostra um valor vazio para rótulos de nós, é a seguinte:

<<<<< Node Labels: >>>>>>

Ative o recurso de rótulos do YARN no Amazon EMR versão 6.x e superior

Ative o recurso de rótulos do YARN ao criar um novo cluster do EMR:

1.    Adicione as seguintes propriedades na seção Edit software settings (Editar configurações do software),Enter configuration (Inserir configuração), em seguida prossiga com a criação do cluster:

[
  {
    "Classification": "yarn-site",
    "Properties": {
      "yarn.node-labels.enabled": "true",
      "yarn.node-labels.am.default-node-label-expression": "CORE"
    }
  }
]

2.    Depois que a criação do cluster for concluída, confirme se a alteração foi aplicada com êxito executando o seguinte comando no nó principal:

yarn cluster --list-node-labels

Veja a seguir a saída esperada do comando anterior:

<<<<< Node Labels: <CORE:exclusivity=false>  >>>>>

Ative o recurso de rótulo do YARN em um cluster do EMR existente:

1.    No console do Amazon EMR, selecione Clusters e, em seguida, selecione o cluster que você deseja editar.

2.    Escolha a guia Configurations (Configurações).

3.    Selecione a opção Edit in JSON (Editar em JSON) na guia Reconfigure (Reconfigurar) e adicione as propriedades a seguir.

[
  {
    "Classification": "yarn-site",
    "Properties": {
      "yarn.node-labels.enabled": "true",
      "yarn.node-labels.am.default-node-label-expression": "CORE"
    }
  }
]

4.    Selecione a opção Apply this configuration to all active instance groups (Aplicar esta configuração a todos os grupos de instâncias ativas) e salve as alterações.

5.    Confirme se a alteração foi aplicada executando o seguinte comando no nó principal:

yarn cluster --list-node-labels

Veja a seguir a saída esperada do comando anterior:

<<<<< Node Labels: <CORE:exclusivity=false>  >>>>>>

AWS OFICIAL
AWS OFICIALAtualizada há um ano