Consistent view - 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á.

Consistent view

Atenção

Em 1.º de junho de 2023, a visualização consistente do EMRFS chegará ao fim do suporte padrão para futuras versões do Amazon EMR. A visualização consistente do EMRFS continuará funcionando para as versões atuais.

Com o lançamento da read-after-write consistência forte do Amazon S3 em 1º de dezembro de 2020, você não precisa mais usar a visualização consistente do EMRFS (EMRFS CV) com seus clusters do Amazon EMR. O EMRFS CV é um recurso opcional que permite que os clusters do Amazon EMR verifiquem a lista e a consistência dos objetos do read-after-write Amazon S3. Quando você cria um cluster e o EMRFS CV é ativado, o Amazon EMR cria um banco de dados do Amazon DynamoDB para armazenar metadados de objetos que ele usa para rastrear a lista e a consistência dos objetos do S3. read-after-write Agora é possível desativar a EMRFS CV e excluir o banco de dados do DynamoDB que ela usa para não acumular custos adicionais. Os procedimentos a seguir explicam como verificar o atributo CV, desativá-lo e excluir o banco de dados do DynamoDB usado pelo atributo.

Verificar se você está usando o recurso EMRFS CV
  1. Navegue até a guia Configuração. Se o cluster tem a configuração a seguir, ele usa a EMRFS CV.

    Classification=emrfs-site,Property=fs.s3.consistent,Value=true
  2. Como alternativa, use o AWS CLI para descrever seu cluster com a describe-clusterAPI. Se a saída contém fs.s3.consistent: true, o cluster usa a EMRFS CV.

Desativar a EMRFS CV nos seus clusters do Amazon EMR

Para desativar o atributo EMRFS CV, use uma destas três opções. É necessário testar essas opções em seu ambiente de teste antes de aplicá-las aos ambientes de produção.

  1. Para interromper o cluster existente e iniciar um novo cluster sem as opções da EMRFS CV.
    1. Antes de interromper o cluster, faça backup dos dados e notifique os usuários.

    2. Para interromper o cluster, siga as instruções apresentadas em Terminate a cluster.

    3. Se você usar o console do Amazon EMR para criar um novo cluster, navegue até Opções avançadas. Na seção Editar configurações do software, desmarque a opção para ativar a EMRFS CV. Se a caixa de seleção Visualização consistente do EMRFS estiver disponível, mantenha-a desmarcada.

    4. Se você costuma AWS CLI criar um novo cluster com a create-clusterAPI, não use a --emrfs opção, que ativa o EMRFS CV.

    5. Se você usa um SDK ou AWS CloudFormation cria um novo cluster, não use nenhuma das configurações listadas em Configurar visualização consistente.

  2. Clonar um cluster e remover a EMRFS CV
    1. No console do Amazon EMR, escolha o cluster que está usando a EMRFS CV.

    2. Na parte superior da página Detalhes do cluster, escolha Clonar.

    3. Escolha Anterior e navegue até a Etapa 1: software e etapas.

    4. Em Editar configurações de software, remova a EMRFS CV. Em Editar configuração, exclua as seguintes configurações na classificação emrfs-site. Se você estiver carregando JSON de um bucket do S3, será necessário modificar o objeto do S3.

      [ {"classification": "emrfs-site", "properties": { "fs.s3.consistent.retryPeriodSeconds":"10", "fs.s3.consistent":"true", "fs.s3.consistent.retryCount":"5", "fs.s3.consistent.metadata.tableName":"EmrFSMetadata" } } ]
  3. Remover a EMRFS CV de um cluster que usa grupos de instâncias
    1. Use o comando a seguir para verificar se apenas um cluster do EMR usa a tabela do DynamoDB associada à EMRFS CV ou se vários clusters compartilham a tabela. O nome da tabela é especificado em fs.s3.consistent.metadata.tableName, conforme descrito em Configure consistent view. O nome da tabela padrão usado pela EMRFS CV é EmrFSMetadata.

      aws emr describe-cluster --cluster-id j-XXXXX | grep fs.s3.consistent.metadata.tableName
    2. Se o cluster não compartilhar o banco de dados do DynamoDB com outro cluster, use o comando a seguir para reconfigurar o cluster e desativar a EMRFS CV. Para obter mais informações, consulte Reconfigure an instance group in a running cluster.

      aws emr modify-instance-groups --cli-input-json file://disable-emrfs-1.json

      Esse comando abrirá o arquivo que você deseja modificar. Modifique o arquivo com as configurações a seguir.

      { "ClusterId": "j-xxxx", "InstanceGroups": [ { "InstanceGroupId": "ig-xxxx", "Configurations": [ { "Classification": "emrfs-site", "Properties": { "fs.s3.consistent": "false" }, "Configurations": [] } ] } ] }
    3. Se o cluster compartilhar a tabela do DynamoDB com outro cluster, desative a EMRFS CV em todos os clusters ao mesmo tempo em que nenhum cluster modifique nenhum objeto no local compartilhado do S3.

Excluir recursos do Amazon DynamoDB associados à EMRFS CV

Após remover a EMRFS CV dos clusters do Amazon EMR, exclua os recursos do DynamoDB associados à EMRFS CV. Enquanto não fizer isso, você continuará incorrendo nas cobranças do DynamoDB associadas à EMRFS CV.

  1. Verifique as CloudWatch métricas da sua tabela do DynamoDB e confirme se a tabela não é usada por nenhum cluster.

  2. Exclua a tabela do DynamoDB.

    aws dynamodb delete-table --table-name <your-table-name>
Excluir recursos do Amazon SQS associados à EMRFS CV
  1. Se você configurou o cluster para enviar notificações de inconsistência para o Amazon SQS, será possível excluir todas as filas do SQS.

  2. Encontre o nome da fila do Amazon SQS especificado em fs.s3.consistent.notification.SQS.queueName, conforme descrito em Configure consistent view. O formato padrão do nome da fila é EMRFS-Inconsistency-<j-cluster ID>.

    aws sqs list-queues | grep ‘EMRFS-Inconsistency’ aws sqs delete-queue –queue-url <your-queue-url>
Parar de usar a CLI do EMRFS
  • A CLI do EMRFS gerencia os metadados que a EMRFS CV gera. À medida que o suporte padrão para a EMRFS CV chegar ao fim nas futuras versões do Amazon EMR, o suporte para a CLI do EMRFS também terminará.