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. Elas 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
centos8 CentOS 8
debian10 Debian 10
ubuntu18 Ubuntu 18

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 OS serão automaticamente definidas para a última versão semanal.

Como selecionar versões

Quando você cria um novo cluster do Dataproc, a versão mais recente da imagem do Debian é usada por padrão. Você pode selecionar uma versão de imagem do CentOS, Debian ou do Ubuntu ao criar um cluster (consulte a Lista de versões de imagem do Dataproc). Ao especificar imagens baseadas em Debian, você pode omitir o sufixo do código de distribuição do SO, por exemplo, especificando "1.3" para selecionar a imagem 1.3-debian9. O sufixo do sistema operacional deve ser usado para selecionar uma imagem baseada no CentOS ou no Ubuntu, por exemplo, especificando "1.4-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=1.4 \
    --region=region

Exemplo de imagem do Ubuntu:

gcloud dataproc clusters create cluster-name \
    --image-version=1.3-ubuntu18 \
    --region=region

É recomendável 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, "1.2.67".

Você pode verificar sua versão atual com a ferramenta de linha de comando gcloud.

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": "1.3"
    }
  }
}
  

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 para incluir 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 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 serão criadas periodicamente para incorporar alguns destes itens:

  • Patches ou correções de um componente na imagem

Suporte a versão de imagem e Dataproc

Tanto as versões principais quanto as secundárias são compatíveis por um período específico depois de lançadas. Durante esse tempo, os clusters que usam as versões de imagem são compatíveis. Depois que a janela de suporte é fechada, os clusters que usam a versão da imagem não são mais compatíveis.

Meses após o lançamento inicial da versão da imagem É possível criar clusters com essa versão de imagem? Os clusters que usam essa versão de imagem são compatíveis?
0 a 12 Sim Sim
12-24 Sim Não
24+ Não Não

Versões subsecundárias não têm suporte nem vida útil garantida.

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