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:
- Componentes principais instalados em todos os clusters, como Spark, Hadoop e Hive.
- Componentes opcionais especificados ao criar um cluster
- 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 comotruese o cluster não estiver usando a versão de imagem secundária mais recente.- Para ver os metadados da imagem:
- Execute o seguinte comando
gcloud compute images list --filterpara 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)" - Execute o seguinte
gcloud compute images describepara ver os metadados da imagem.gcloud compute images describe --project=PROJECT_NAME IMAGE_NAME"
- Execute o seguinte comando
- Para ver 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.