Armazenamento de instâncias - Amazon EMR

Armazenamento de instâncias

O armazenamento de instância e de volumes do Amazon EBS é usado para dados HDFS e para buffers, caches, dados transitórios e outros conteúdos temporários que algumas aplicações podem “despejar” no sistema de arquivos local.

O Amazon EBS funciona de forma diferente dentro do Amazon EMR do que com instâncias do Amazon EC2 regulares. Os volumes do Amazon EBS conectados aos clusters do Amazon EMR são temporários: os volumes são excluídos após o término do cluster e da instância (por exemplo, ao reduzir grupos de instâncias), portanto, é importante não esperar a persistência dos dados. Embora os dados sejam temporários, é possível que os dados no HDFS sejam replicados dependendo do número e da especialização dos nós no cluster. Quando você adiciona volumes de armazenamento do Amazon EBS, eles são montados como volumes adicionais. Eles não fazem parte do volume de inicialização. O YARN está configurado para usar todos os volumes adicionais, mas você é responsável por alocar os volumes adicionais como armazenamento local (para arquivos de log locais, por exemplo).

Outras advertências para o uso do Amazon EBS com clusters do Amazon EMR são:

  • Você não pode fazer snapshot de um volume do Amazon EBS e restaurá-lo no Amazon EMR. Para criar configurações personalizadas reutilizáveis, use uma AMI personalizada (disponível no Amazon EMR 5.7.0 e versões posteriores). Para obter mais informações, consulte Usar uma AMI personalizada.

  • Um volume de armazenamento raiz do Amazon EBS criptografado tem suporte apenas ao usar uma AMI personalizada. Para obter mais informações, consulte Criar uma AMI personalizada com o volume do dispositivo raiz do Amazon EBS criptografado.

  • Se você aplicar etiquetas usando a API do Amazon EMR, essas operações serão aplicadas a volumes do EBS.

  • Existe um limite de 25 volumes por instância.

  • Os volumes do Amazon EBS nos nós centrais não podem ter menos de 5 GB.

Armazenamento padrão do Amazon EBS para instâncias

O Amazon EMR anexa automaticamente um volume de 10 GB do tipo SSD de uso geral do Amazon EBS (gp2) como o dispositivo raiz para as AMIs melhorarem a performance. Além disso, para instâncias do EC2 com armazenamento exclusivo do EBS, o Amazon EMR aloca apenas volumes de armazenamento gp2 do Amazon EBS a instâncias. Ao criar um cluster usando o Amazon EMR 5.22.0 e versões posteriores, a quantidade de armazenamento do Amazon EBS aumenta de acordo com o tamanho da instância. Dividimos o armazenamento aumentado em múltiplos volumes, oferecendo maior performance de IOPS e, por sua vez, melhor performance para algumas workloads padronizadas. Se você quiser usar uma instância de configuração gp2 de armazenamento do Amazon EBS diferente, você poderá especificar ao criar um cluster do Amazon EMR ou adicionar nós a um cluster atual. Atualmente, os volumes gp3 do Amazon EBS não podem ser usados como volumes raiz em um cluster do Amazon EMR. Só é possível usar volumes gp2 do Amazon EBS como volumes raiz e adicionar volumes gp3 como volumes adicionais. A tabela a seguir identifica o número padrão de volumes do Amazon EBS, tamanhos e tamanhos totais de armazenamento gp2 por tipo de instância.

Os custos do Amazon EBS são proporcionais à hora com base nas cobranças mensais para volumes gp2 na Região da AWS onde o cluster é executado. Por exemplo, o custo do Amazon EBS por hora para o volume raiz em cada nó do cluster em uma região que cobra USD 0,10/GB/mês por mês seria de aproximadamente USD 0,00139 por hora (USD 0,10/GB/mês, dividido por 30 dias, divididos por 24 horas vezes 10 GB).

Tamanho e volumes de armazenamento padrão gp2 do Amazon EBS por tipo de instância para o Amazon EMR 5.22.0 e posteriores
Tamanho da instância Número de volumes Tamanho do volume (GiB) Tamanho total (GiB)

*.large

1

32

32

*.xlarge

2

32

64

*.2xlarge

4

32

128

*.4xlarge

4

64

256

*.8xlarge

4

128

512

*.9xlarge

4

144

576

*.10xlarge

4

160

640

*.12xlarge

4

192

768

*.16xlarge

4

256

1024

*.18xlarge

4

288

1152

*.24xlarge

4

384

1536

Especificar volumes de armazenamento adicionais do EBS

Ao configurar tipos de instâncias no Amazon EMR, você pode especificar volumes do EBS adicionais para aumentar a capacidade além do armazenamento de instância (se houver) e do volume do EBS padrão. O Amazon EBS fornece os seguintes tipos de volumes: uso geral (SSD), IOPS provisionadas (SSD), otimizado para throughput (HDD), a frio (HDD) e Magnético. Eles diferem em características de desempenho e preço, para que você possa adaptar seu armazenamento com base nas necessidades analíticas e comerciais dos seus aplicativos. Por exemplo, algumas aplicações podem ter necessidade de vazar no disco, enquanto outras podem trabalhar com segurança na memória ou usando o Amazon S3.

Você só pode anexar volumes do Amazon EBS a instâncias na inicialização do cluster e ao adicionar um grupo de instâncias de nós de tarefa. Se uma instância em um cluster do Amazon EMR falhar, tanto ela quanto os volumes do Amazon EBS anexados serão substituídos pelos novos volumes. Consequentemente, se você separar manualmente um volume do Amazon EBS, o Amazon EMR o tratará como uma falha e substituirá os armazenamentos de instância (se aplicável) e de volume.

Com o Amazon EMR, não é possível modificar o tipo de volume de gp2 para gp3 para um cluster do EMR já existente. Para usar o gp3 em suas workloads e seus casos de uso, você precisa iniciar um novo cluster do EMR. Além disso, não é recomendável atualizar o throughput e as IOPS de um cluster que esteja em uso ou que esteja sendo provisionado, pois o Amazon EMR usa os valores de throughput e de IOPS especificados no momento da inicialização do cluster para qualquer nova instância adicionada durante o aumento da escala verticalmente do cluster. Consulte Comparar os tipos de volume gp2 e gp3 do Amazon EBS e Selecionar IOPS e throughput ao migrar para gp3.

Importante

Para utilizar um volume gp3 com o cluster do EMR, inicie um novo cluster do EMR usando a API, o SDK ou a CLI.