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 novas melhorias e atributos de machine learning. 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, Debian são usadas 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:

  • 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 um sufixo -RC) são lançadas antes do lançamento de uma nova 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
  • Atualizações de versão subsecundá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 estão qualificadas para suporte. Para receber correções, recrie seu cluster usando a versão de imagem subsecundária mais recente suportada). 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 a seguir 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 visualizar os metadados das imagens.
          gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
          
    • Teste e valide se seus aplicativos são executados com êxito nos clusters criados com novas versões de imagem, especialmente ao usar novas versões de versão principal da imagem.