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á.
Criação do cluster EMR/aplicativo EMR-S de destino a partir dos existentes
Se você já tiver um EC2 cluster do EMR executando a versão de origem do Spark, poderá cloná-lo para criar um novo cluster com a mesma configuração, mas com uma versão atualizada do EMR para executar as etapas de validação durante o processo de upgrade.
Etapas:
-
Faça login no Console de gerenciamento da AWS e abra o console do Amazon EMR.
-
No painel de navegação esquerdo, escolha Clusters em EC2 EMR ativado.
-
Da lista de clusters:
-
Use pesquisa ou filtros, se necessário, para encontrar seu cluster.
-
Marque a caixa de seleção ao lado do cluster que você deseja clonar.
-
A opção Clonar aparecerá no topo da lista. Escolha Clonar.
-
Se o cluster tiver etapas configuradas, escolha Incluir etapas e, em seguida, Continuar para clonar as etapas junto com as outras configurações do cluster.
-
-
Revise as configurações do novo cluster que foram copiadas do cluster original.
-
Atualize a versão de lançamento do Amazon EMR para a versão de destino.
-
Como prática recomendada para eficiência de custos, considere ativar o escalonamento automático ao configurar o cluster para ajustar automaticamente a capacidade com base nas demandas da carga de trabalho.
-
Quando estiver satisfeito com a configuração, selecione Criar cluster para iniciar o novo cluster.
-
Aguarde até que o cluster alcance o status Em execução e anote o ID do cluster. Forneça essa ID ao agente quando solicitado a validar o aplicativo atualizado.
Clonando um aplicativo EMR Serverless para a versão de destino
Não há uma maneira direta de clonar um aplicativo EMR Serverless em um novo com uma versão diferente do EMR. Em vez disso, você pode usar o EMR Serverless SDK/CLI ou o console para criar um novo aplicativo e reutilizar a configuração de um existente.
Aqui estão alguns comandos auxiliares da CLI para começar:
aws emr-serverless get-application --application-id XXX > old-config.json cat old-config.json | jq '{ name: (.application.name + "<suffix to differentiate name from old application>"), releaseLabel: "<target EMR release version>", type: .application.type, initialCapacity: .application.initialCapacity, maximumCapacity: .application.maximumCapacity, autoStartConfiguration: .application.autoStartConfiguration, autoStopConfiguration: .application.autoStopConfiguration, tags: .application.tags, architecture: .application.architecture, runtimeConfiguration: .application.runtimeConfiguration, monitoringConfiguration: .application.monitoringConfiguration }' > new-config.json aws emr-serverless create-application --cli-input-json file://new-config.json
Nota: Certifique-se de que a função de execução do trabalho para o novo aplicativo permita que o EMR Serverless assuma a função. Analise a política de confiança da função. Se você estiver reutilizando a mesma função de execução de tarefas do aplicativo antigo, atualize a política de confiança para incluir o novo aplicativo, conforme mostrado abaixo:
#Replace the old application id and new application id in the policy { "Version": "2012-10-17", "Statement": [ { "Sid": "ServerlessTrustPolicy", "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:SourceArn": [ "arn:aws:emr-serverless:us-east-1:<account>:/applications/<old application id>", "arn:aws:emr-serverless:us-east-1:<account>:/applications/<new application id>" ] } } } ] }