O Managed Service for Apache Spark usa imagens para agrupar conectores úteis Google Cloud e componentes Apache Spark & Apache Hadoop em um mesmo pacote que pode ser implantado em um cluster do Managed Service for Apache Spark. 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 Managed Service for 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 do 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 subsecundárias e do SO são definidas automaticamente para a versão semanal mais recente.
Selecionar versões
Quando você cria um novo cluster do serviço gerenciado para Apache Spark, a versão de imagem mais recente disponível do Debian é 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 Managed Service for 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.
Comando gcloud
Ao usar o comando gcloud dataproc clusters create, é possível usar o argumento --image-version para especificar uma versão de 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
É 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, 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 Managed Service for Apache Spark. O painel Configurar cluster está selecionado. O campo Tipo de imagem e Versão 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 incluir um ou mais dos seguintes elementos:
- Versões principais de:
- Spark, Hadoop e outros componentes de Big Data
- Google Cloud conectores
- Principais mudanças ou atualizações na funcionalidade do Managed Service for Apache Spark
Novas versões de pré-lançamento (com um sufixo -RC) são lançadas antes 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 elementos:
- Versões e atualizações secundárias de:
- Spark, Hadoop e outros componentes de Big Data
- Google Cloud conectores
- Atualizações ou alterações não importantes da funcionalidade do Managed Service for 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 subsecundárias são criadas periodicamente para incorporar alguns destes itens:
- Patches ou correções de um componente na imagem
- Upgrades de versão subsecundária de componentes
Versão da imagem e suporte do Managed Service for 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 são qualificados para suporte. 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, 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 dos lançamentos Beta anteriores à disponibilidade geral 1.0 do Managed Service for Apache Spark não estão sujeitas à política de suporte do Managed Service for Apache Spark.
Notas importantes sobre o controle de versões
- As versões de imagem contêm os seguintes componentes:
- Componentes principais instalados em todos os clusters, como Spark, Hadoop, e Hive
- Componentes opcionais especificados ao criar um cluster
- Os clusters do Managed Service for 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
subsecundária mais recente.
Os metadados da imagem incluem um rótulo
previous-subminor, que é definido comotruese o cluster não estiver usando a versão de imagem subsecundária mais recente.- Para visualizar os metadados da imagem:
- Execute o seguinte
gcloud compute images list --filtercomando para listar o nome do recurso de uma imagem do Managed Service for Apache Spark.gcloud compute images list --project=PROJECT_NAME --filter="labels.goog-dataproc-version ~ ^IMAGE_VERSION (such as
2.2.16-debian12)" - Execute o seguinte comando
gcloud compute images describepara visualizar os metados da imagem.gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
- Execute o seguinte
- Para visualizar os metadados da imagem:
- 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.