Versões de imagens de cluster do Serviço Gerenciado para Apache Spark

O Serviço Gerenciado para Apache Spark em clusters usa imagens para unir conectores úteis do Google Cloud e componentes do Apache Spark e do Apache Hadoop em um único pacote que pode ser implantado em um cluster do Serviço Gerenciado para Apache Spark. Essas imagens contêm o sistema operacional de base (Debian ou Ubuntu) para o cluster, além de componentes principais e opcionais necessários para executar jobs, como Spark, Hadoop e Hive. Essas imagens são atualizadas periodicamente para incluir novas melhorias e recursos. O controle de versões do Serviço Gerenciado para Apache Spark permite selecionar conjuntos de versões de software ao criar clusters.

Como funciona o controle de versão

Quando uma imagem é criada, ela recebe um número de versão de imagem no seguinte formato:

version_major.version_minor.version_sub_minor-os_distribution

As seguintes distribuições de SO são mantidas:

Código de distribuição do SO Distribuição do SO
debian12 Debian 12
debian10 Debian 10
debian11 Debian 11
rocky8 Rocky Linux 8
rocky9 Rocky Linux 9
ubuntu18 Ubuntu 18.04 LTS
ubuntu20 Ubuntu 20.04 LTS
ubuntu22 Ubuntu 22.04 LTS

Consulte as versões de imagem antigas para distribuições do SO compatíveis anteriormente.

A prática recomendada é especificar a versão da imagem major.minor para ambientes de produção ou quando a compatibilidade com versões específicas dos componentes é importante. As distribuições de subminor e SO são definidas automaticamente para a versão semanal mais recente.

Selecionar versões

Quando você cria um cluster do Serviço Gerenciado para Apache Spark, a versão de imagem mais recente disponível do Debian é usada por padrão. É possível selecionar uma versão de imagem do Debian, Rocky Linux ou Ubuntu ao criar um cluster (consulte a lista de versões de imagem do Serviço Gerenciado para Apache Spark). Ao especificar imagens baseadas no Debian, é possível omitir o sufixo do código de distribuição do SO, por exemplo, especificando 2.0 para selecionar a imagem 2.0-debian10. O sufixo do SO precisa ser usado para selecionar uma imagem baseada no Rocky Linux ou no Ubuntu, por exemplo, especificando 2.0-ubuntu18.

Console doGoogle Cloud

Abra a página Criar cluster. Na seção Definir o cluster, o campo suspenso Tipo e versão da imagem mostra a imagem que será usada ao criar o cluster. Inicialmente, a imagem padrão, que é a versão mais recente disponível do Debian, é selecionada. Clique no campo para selecionar uma imagem personalizada ou uma opção na lista de imagens padrão disponíveis.

Comando da CLI gcloud

Ao usar o comando gcloud dataproc clusters create, é possível usar o argumento --image-version para especificar uma versão da imagem para o novo cluster.

Exemplo de imagem do Debian:

gcloud dataproc clusters create CLUSTER_NAME \
    --image-version=2.0 \
    --region=REGION

Exemplo de imagem do Ubuntu:

gcloud dataproc clusters create CLUSTER_NAME \
    --image-version=2.0-ubuntu18 \
    --region=REGION

A prática recomendada é omitir a versão secundária para que a versão secundária mais recente seja usada. No entanto, se necessário, a versão submenor pode ser especificada, por exemplo, 2.0.20.

Verifique sua versão atual com a Google Cloud CLI.

gcloud dataproc clusters describe CLUSTER_NAME \
    --region=REGION

API REST

Você pode especificar o campo SoftwareConfig imageVersion como parte de uma solicitação de API cluster.create.

Exemplo

POST /v1/projects/project-id/regions/us-central1/clusters/
{
  "projectId": "project-id",
  "clusterName": "example-cluster",
  "config": {
    "configBucket": "",
    "gceClusterConfig": {
      "subnetworkUri": "default",
      "zoneUri": "us-central1-b"
    },
    "masterConfig": {
      ...
      }
    },
    "workerConfig": {
      ...
      }
    },
    "softwareConfig": {
      "imageVersion": "2.0"
    }
  }
}
  

Quando novas versões são criadas

Novas versões principais são criadas periodicamente para incorporar um ou mais dos seguintes itens:

  • Versões principais de:
    • Spark, Hadoop e outros componentes de Big Data
    • Google Cloud conectores
  • Mudanças ou atualizações importantes na funcionalidade do Serviço Gerenciado para Apache Spark

Novas versões de pré-lançamento (com um sufixo -RC) são lançadas antes do lançamento de uma nova versão principal:

  • As imagens de pré-lançamento não são destinadas ao uso em cargas de trabalho de produção.
  • As versões de componentes de imagem de pré-lançamento podem ser atualizadas para a versão de componente mais recente disponível na versão de imagem de GA pós-pré-lançamento.

Novas versões secundárias são criadas periodicamente para incorporar um ou mais dos seguintes itens:

  • Versões e atualizações secundárias de:
    • Spark, Hadoop e outros componentes de Big Data
    • Google Cloud conectores
  • Pequenas mudanças ou atualizações na funcionalidade do Serviço Gerenciado para Apache Spark

Quando uma nova versão secundária é criada, sua imagem Debian passa a ser o padrão para a versão principal e representa a versão mais recente da versão principal.

Novas versões subminor são criadas periodicamente para incorporar um ou mais dos seguintes itens:

  • Patches ou correções de um componente na imagem
  • Upgrades de versão secundária de componentes

Versão da imagem e suporte ao Serviço Gerenciado para Apache Spark

As versões secundárias da imagem são compatíveis por 24 meses após o lançamento inicial (disponibilidade geral). Durante esse período, os clusters que usam essas versões de imagem estão qualificados para suporte (para receber correções, recrie o cluster usando a versão de imagem secundária mais recente com suporte). Depois que a janela de suporte for fechada, os clusters que usam as versões de imagem não estarão qualificados para suporte.

Versões de imagem antigas

Distribuições do SO suportadas compatíveis anteriormente

As seguintes distribuições do SO eram compatíveis anteriormente:

Código de distribuição do SO Distribuição do SO Último patch (fim do suporte)
debian9 Debian 9 10 de julho de 2020
deb8 Debian 8 26 de outubro de 2018

Versões de imagem sem distribuição explícita do SO

Antes de 16 de agosto de 2018, todas as versões de imagem eram construídas com o Debian 8 e omitiam o Código de distribuição do SO. Elas são especificadas no seguinte formato:

version_major.version_minor.version_sub_minor

Versões 0.1 e 0.2

As versões de imagem lançadas como Alfa ou Beta antes da disponibilidade geral da versão 1.0 do Serviço Gerenciado para Apache Spark não estão sujeitas à política de suporte do Serviço Gerenciado para Apache Spark.

Notas importantes sobre o controle de versões

  • As versões de imagem contêm os seguintes componentes:
  • Os clusters do Serviço Gerenciado para Apache Spark não são atualizados automaticamente quando novas versões de imagem são lançadas.
    • Recomendações:
    • Execute clusters com a versão de imagem subminor mais recente. Os metadados da imagem incluem um rótulo previous-subminor, que é definido como true se o cluster não estiver usando a versão de imagem secundária mais recente.
      • Para ver os metadados da imagem:
        1. Execute o seguinte comando gcloud compute images list --filter para listar o nome do recurso de uma imagem do Serviço Gerenciado para Apache Spark.
          gcloud compute images list --project=PROJECT_NAME --filter="labels.goog-dataproc-version ~ ^IMAGE_VERSION (such as 2.2.16-debian12)"
          
        2. Execute o seguinte gcloud compute images describe para ver os metadados da imagem.
          gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
          
    • Teste e valide se os aplicativos são executados com sucesso em clusters criados com novas versões de imagem, principalmente ao usar novas versões principais de imagem.