Esta página descreve como mudar a versão da imagem do Dataproc usada pela sua instância do Cloud Data Fusion. É possível mudar a imagem no nível da instância, do namespace ou do pipeline.
Antes de começar
Interrompa todos os pipelines em tempo real e jobs de replicação na instância do Cloud Data Fusion. Se um pipeline ou uma replicação em tempo real estiver sendo executado quando você mudar a versão da imagem do Dataproc, as mudanças não serão aplicadas à execução do pipeline.
Para pipelines em tempo real, se o checkpoint estiver ativado, a interrupção dos pipelines não causa perda de dados. Para jobs de replicação, interromper e iniciar o job não causa perda de dados se os registros de banco de dados estiverem disponíveis.
Console
Acesse a página Instâncias do Cloud Data Fusion e abra a instância em que você precisa interromper um pipeline.
Abra cada pipeline em tempo real no Pipeline Studio e clique em Parar.
Abra cada job de replicação na página Replicar e clique em Parar.
API REST
Para recuperar todos os pipelines, use a seguinte chamada da API REST:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps"
Substitua
NAMESPACE_ID
pelo nome do namespace.Para interromper um pipeline em tempo real, use a seguinte chamada da API REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/PIPELINE_NAME/spark/DataStreamsSparkStreaming/stop"
Substitua NAMESPACE_ID pelo nome do namespace e PIPELINE_NAME pelo nome do pipeline em tempo real.
Para interromper um job de replicação, use a seguinte chamada da API REST:
POST -H "Authorization: Bearer ${AUTH_TOKEN}" \ "${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps/REPLICATION_JOB_NAME/workers/DeltaWorker/stop"
Substitua NAMESPACE_ID pelo nome do namespace e REPLICATION_JOB_NAME pelo nome do job de replicação.
Para mais informações, consulte Como interromper pipelines em tempo real e Como interromper jobs de replicação.
Verificar e substituir a versão padrão do Dataproc no Cloud Data Fusion
Clique em Administrador do sistema > Configuração > Preferências do sistema.
Se uma imagem do Dataproc não estiver especificada nas preferências do sistema ou para mudar a preferência, clique em Editar preferências do sistema.
Digite o seguinte texto no campo Chave:
system.profile.properties.imageVersion
Insira a imagem do Dataproc escolhida no campo Valor, como
2.1
.Clique em Salvar e fechar.
Essa mudança afeta toda a instância do Cloud Data Fusion, incluindo todos os namespaces e execuções de pipeline, a menos que a propriedade da versão da imagem seja substituída em um namespace, pipeline ou argumento de execução na sua instância.
Mudar a versão da imagem do Dataproc
A versão da imagem pode ser definida na interface da Web do Cloud Data Fusion em "Configurações de computação", "Preferências de namespace" ou "Argumentos do ambiente de execução do pipeline".
Mudar a imagem nas preferências do namespace
Se você tiver substituído a versão da imagem nas propriedades do Namespace, siga estas etapas:
Clique em Administrador do sistema > Configuração > Espaços de nomes.
Abra cada namespace e clique em Preferências.
Verifique se não há uma substituição com a chave
system.profile.properties.imageVersion
com um valor de versão de imagem incorreto.Clique em Concluir.
Mudar a imagem nos perfis de computação do sistema
Clique em Administrador do sistema > Configuração.
Clique em Sistema Perfis de computação > Criar novo perfil.
Selecione o provisionador do Dataproc.
Crie o perfil para o Dataproc. No campo Image Version, insira uma versão da imagem do Dataproc.
Selecione esse perfil de computação ao executar o pipeline na página Studio. Na página de execução do pipeline, clique em Configurar > Configurações de computação e selecione esse perfil.
Selecione o perfil do Dataproc e clique em Salvar.
Clique em Concluir.
Mudar a imagem nos argumentos de execução do pipeline
Se você tiver substituído a versão da imagem com uma propriedade nos argumentos de execução do pipeline, siga estas etapas:
Clique em menu Menu > Lista.
Na página Lista, selecione o pipeline que você quer atualizar.
O pipeline é aberto na página Studio.
Para expandir as opções Run, clique na seta de expansão
.A janela Argumentos de execução é aberta.
Verifique se não há uma substituição com a chave
system.profile.properties.imageVersion
com uma versão de imagem incorreta como valor.Clique em Salvar.
Recriar clusters estáticos do Dataproc usados pelo Cloud Data Fusion com a versão de imagem escolhida
Se você usa clusters do Dataproc com o Cloud Data Fusion, siga o guia do Dataproc para recriar os clusters com a versão da imagem do Dataproc escolhida para sua versão do Cloud Data Fusion.
Como alternativa, crie um novo cluster do Dataproc com a versão de imagem escolhida e exclua e recrie o perfil de computação no Cloud Data Fusion com o mesmo nome e o nome do cluster do Dataproc atualizado. Dessa forma, a execução de pipelines em lote pode concluir a execução no cluster atual, e as execuções de pipeline subsequentes são realizadas no novo cluster do Dataproc. Você pode excluir o cluster antigo do Dataproc depois de confirmar que todas as execuções de pipeline foram concluídas.
Verificar se a versão da imagem do Dataproc está atualizada
Console
No console do Google Cloud, acesse a página Clusters do Dataproc.
Abra a página Detalhes do cluster do novo cluster que o Cloud Data Fusion criou quando você especificou a nova versão.
O campo Versão da imagem tem o novo valor especificado no Cloud Data Fusion.
API REST
Confira a lista de clusters com os metadados:
GET -H "Authorization: Bearer ${AUTH_TOKEN}" \ https://dataproc.googleapis.com/v1/projects/PROJECT_ID/regions/REGION_ID/clusters
Substitua:
PROJECT_ID
pelo nome do namespaceREGION_ID
pelo nome da região em que os clusters estão localizados
Pesquise o nome do pipeline (nome do cluster).
Em seguida, confira a imagem em
config > softwareConfig > imageVersion
.
Mude a imagem do Dataproc para a versão 2.2 ou 2.1
As versões 6.9.1 e mais recentes do Cloud Data Fusion oferecem suporte à imagem do Dataproc 2.1 do Compute Engine, que é executada no Java 11. Nas versões 6.10.0 e mais recentes, a imagem 2.1 é o padrão.
Se você mudar para a imagem 2.2 ou 2.1 de uma imagem anterior, para que os pipelines de lote e os trabalhos de replicação tenham sucesso, os drivers JDBC que os plug-ins de banco de dados usam nessas instâncias precisam ser compatíveis com o Java 11.
A imagem do Dataproc 2.2 e 2.1 tem as seguintes limitações no Cloud Data Fusion:
- Não há suporte para jobs de mapReduce.
- As versões do driver JDBC usadas nos plug-ins de banco de dados na sua instância precisam ser atualizadas para oferecer suporte ao Java 11. Consulte a tabela a seguir para conferir as versões do driver que funcionam com o Dataproc 2.2, 2.1 e o Java 11:
Drivers JDBC | Versões anteriores removidas do Cloud Data Fusion 6.9.1 | Versões com suporte do Java 8 e do Java 11 que funcionam com o Dataproc 2.2, 2.1 ou 2.0 |
---|---|---|
Driver JDBC do Cloud SQL para MySQL | - | 1.0.16 |
Driver JDBC do Cloud SQL para PostgreSQL | - | 1.0.16 |
Driver JDBC do Microsoft SQL Server | Driver JDBC do Microsoft 6.0 | Driver JDBC do Microsoft 9.4 |
Driver JDBC do MySQL | 5.0.8, 5.1.39 | 8.0.25 |
Driver JDBC do PostgreSQL | 9.4.1211.jre7, 9.4.1211.jre8 | 42.6.0.jre8 |
Driver JDBC do Oracle | ojdbc7 | ojdbc8 (12c e mais recentes) |
Uso de memória ao usar o Dataproc 2.2 ou 2.1
O uso da memória pode aumentar para pipelines que usam clusters do Dataproc 2.2
ou 2.1. Se você fizer upgrade da sua instância para a versão 6.10 ou mais recente e
os pipelines anteriores falharem devido a problemas de memória, aumente a memória do driver e
do executor para 2048 MB na configuração Resources
do
pipeline.
Como alternativa, é possível substituir a versão do Dataproc definindo
o argumento de execução system.profile.properties.imageVersion
como 2.0-debian10
.