Como configuro ou modifico a rotulagem de nós do YARN no Amazon EMR?

5 minuto de leitura
0

Quero configurar ou modificar a rotulagem de nós do Apache Hadoop YARN no Amazon EMR.

Breve descrição

As configurações padrão de rotulagem de nós do YARN dependem da sua versão do Amazon EMR.

Versões 5.19.x e posteriores do Amazon EMR nas versões de lançamento do Amazon EMR-5.x

O atributo de rótulos de nós do YARN é ativado por padrão. Quando você ativa esse atributo, o rótulo do nó CORE é criado para os nós centrais com as seguintes propriedades:

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

Os contêineres ApplicationMaster 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 nos nós de tarefas.

Amazon EMR versão 6.x e posterior

O atributo de rótulos de nós do YARN está desativado por padrão. Os processos primários da aplicação podem ser executados nos nós centrais e de tarefas.

Solução

Observação: Antes de configurar os rótulos de nós do YARN em seu ambiente de produção, é uma prática recomendada configurá-los em um ambiente de teste. Quando você desativa o atributo de rotulagem de nós do YARN, o contêiner Application-Master é iniciado em qualquer tipo de nó. Não há restrições para os nós de tarefas. Para nós de tarefas configurados com instâncias spot do Amazon Elastic Compute Cloud (Amazon EC2), a execução de trabalhos pode falhar se o nó da tarefa ficar inativo devido à restrição de capacidade spot.

Desative os rótulos do YARN no Amazon EMR versão 5.19.x e posterior nas versões de lançamento do Amazon EMR-5.x

Desative o atributo de rotulagem do YARN ao criar um cluster do EMR

Conclua as seguintes etapas:

  1. Na seção Editar configurações do software, em Inserir configuração, adicione as seguintes propriedades:

    [  
      {  
        "Classification": "yarn-site",  
        "Properties": {  
          "yarn.node-labels.enabled": "false",  
          "yarn.node-labels.am.default-node-label-expression": ""  
        }  
      }  
    ]
  2. Crie o seguinte script com uma extensão .sh e, em seguida, faça o upload do script em um bucket do Amazon Simple Storage Service (Amazon S3):

    #!/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
  3. Na seção Bootstrap Actions, adicione o script como uma ação personalizada e, em seguida, crie o cluster.

  4. Para confirmar se a alteração foi aplicada, execute o seguinte comando no nó primário:

    yarn cluster --list-node-labels

    A saída mostra um valor vazio para os rótulos dos nós:

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

Desative o atributo de rotulagem do YARN em um cluster existente do Amazon EMR

Conclua as seguintes etapas:

  1. Use SSH para se conectar ao nó primário do Amazon EMR.

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

  3. Execute o comando a seguir para abrir o yarn-site.xml no modo editor de arquivos:

    sudo su vi yarn-site.xml
  4. Altere o valor da propriedade yarn.node-labels.enabled para 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:

    <property>  
      <name>yarn.node-labels.am.default-node-label-expression</name>  
      <value></value>  
    </property>
  6. Se a versão do cluster for posterior à 5.29.0, execute os seguintes comandos para reiniciar o ResourceManager:

    sudo systemctl restart hadoop-yarn-resourcemanager.service
    sudo systemctl status hadoop-yarn-resourcemanager.service

    -or-
    Se a versão do cluster for a 5.29.0 ou anterior, execute os seguintes comandos para reiniciar o ResourceManager:

    sudo stop hadoop-yarn-resourcemanager
    sudo start hadoop-yarn-resourcemanager
  7. Para confirmar se a alteração foi aplicada, execute o seguinte comando:

    yarn cluster --list-node-labels

    A saída mostra um valor vazio para os rótulos dos nós:

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

Ative o atributo de rotulagem do YARN no Amazon EMR versão 6.x e posterior

Ative o atributo de rotulagem do YARN ao criar um cluster do EMR

  1. Na seção Editar configurações do software, em Inserir configuração, adicione as seguintes propriedades:

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

  3. Para confirmar se a alteração foi aplicada, execute o seguinte comando no nó primário:

    yarn cluster --list-node-labels

    A saída mostra um valor vazio para os rótulos dos nós:

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

Ative o atributo de rotulagem do YARN em um cluster existente do EMR

Conclua as seguintes etapas:

  1. Abra o console do Amazon EMR.

  2. No painel de navegação, escolha Clusters e, em seguida, selecione o cluster que você deseja editar.

  3. Escolha a guia Configurações.

  4. Em Configurações do grupo de instâncias, escolha um grupo de instâncias.

  5. Escolha o ícone Reconfigurar, selecione Editar em JSON e, em seguida, adicione as seguintes propriedades:

    [  
      {  
        "Classification": "yarn-site",  
        "Properties": {  
          "yarn.node-labels.enabled": "true",  
          "yarn.node-labels.am.default-node-label-expression": "CORE"  
        }  
      }  
    ]
  6. Escolha Aplicar essa configuração a todos os grupos de instâncias ativos e, em seguida, salve as alterações.

  7. Execute o comando a seguir como usuário hadoop no nó primário:

    yarn rmadmin -addToClusterNodeLabels "CORE(exclusive=false)"
  8. Para confirmar se a alteração foi aplicada, execute o seguinte comando no nó primário:

    yarn cluster --list-node-labels

    A saída mostra um valor vazio para os rótulos dos nós:

    <<<<< Node Labels: <CORE:exclusivity=false>  >>>>>>
AWS OFICIAL
AWS OFICIALAtualizada há 4 meses