Controle de versão do Dataproc

O Dataproc usa imagens para agrupar conectores úteis do Google Cloud Platform com componentes Apache Spark e Apache Hadoop em um mesmo pacote que pode ser implantado em um cluster do Dataproc. Essas imagens contêm o sistema operacional básico (Debian ou Ubuntu) para o cluster, além dos componentes principais e opcionais necessários para executar jobs, como Spark, Hadoop e Hive. Essas imagens são atualizadas periodicamente para incluir novos aprimoramentos e recursos. O controle de versão do Dataproc permite selecionar conjuntos de versões de software ao criar clusters.

Como funciona o controle de versão

Ao ser criada, uma imagem recebe um número de versão com este formato:

version_major.version_minor.version_sub_minor-os_distribution

As seguintes distribuições do SO foram 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 subsecundárias e do SO são automaticamente definidas para a versão semanal mais recente.

Como selecionar versões

Quando você cria um novo cluster do Dataproc, a versão mais recente da imagem do Debian disponível é usada por padrão. Você pode 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 Dataproc). 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.

Comando 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 subsecundária para que a versão subsecundária mais recente seja usada. No entanto, se for necessário, a versão subsecundária pode ser especificada, por exemplo, "2.0.20".

É possível verificar 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"
    }
  }
}
  

Console

Abra a página Criar um cluster do Dataproc. O painel "Configurar cluster" está selecionado. O campo "Tipo e versão da imagem" na seção "Controle de versão" mostra a imagem que será usada ao criar o cluster. A data de lançamento da imagem também é exibida. Inicialmente, a imagem padrão, a versão mais recente disponível do Debian, é mostrada como selecionada. Clique em ALTERAR para exibir uma lista de imagens disponíveis. É possível selecionar uma imagem personalizada ou padrão para usar no cluster.

Quando novas versões são criadas

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

  • Versões principais de:
    • Spark, Hadoop e outros componentes de Big Data
    • conectores do Google Cloud.
  • Principais alterações ou atualizações na funcionalidade do Dataproc

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

  • As imagens de pré-visualização 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 mais recente do componente 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 elementos:

  • Versões e atualizações secundárias de:
    • Spark, Hadoop e outros componentes de Big Data
    • conectores do Google Cloud.
  • Atualizações ou alterações não importantes da funcionalidade do Dataproc

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 subsecundárias são criadas periodicamente para incorporar um ou mais dos seguintes elementos:

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

Suporte a versão de imagem e Dataproc

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 são qualificados para compatibilidade. Para receber correções, recrie o cluster usando a versão de imagem subsecundária compatível. Depois que a janela de suporte é fechada, os clusters que usam a versão da imagem não são mais compatíveis.

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

0.1 e 0.2

As versões de imagem lançadas como Alfa ou dos lançamentos Beta anteriores à versão geral do 1.0 do Dataproc não estão sujeitas à política de suporte do Dataproc.

Notas importantes sobre o controle de versões

  • As versões de imagem contêm os seguintes componentes:
  • Seus clusters do Dataproc 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 subsecundária 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 submenor mais recente.
      • Para conferir os metadados da imagem:
        1. Execute o comando gcloud compute images list --filter abaixo para listar o nome do recurso de uma imagem do Dataproc.
          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 conferir 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.