Mudar a versão da imagem do Dataproc no Cloud Data Fusion

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

  1. Acesse a página Instâncias do Cloud Data Fusion e abra a instância em que você precisa interromper um pipeline.

    Acesse "Instâncias"

  2. Abra cada pipeline em tempo real no Pipeline Studio e clique em Parar.

  3. 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

  1. Acesse a interface da Web do Cloud Data Fusion.

  2. Clique em Administrador do sistema > Configuração > Preferências do sistema.

    Clique em "Editar preferências do sistema".

  3. 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.

    1. Digite o seguinte texto no campo Chave:

      system.profile.properties.imageVersion

    2. Insira a imagem do Dataproc escolhida no campo Valor, como 2.1.

    3. Clique em Salvar e fechar.

Definir preferências do sistema

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:

  1. Acesse a interface da Web do Cloud Data Fusion.

  2. Clique em Administrador do sistema > Configuração > Espaços de nomes.

  3. Abra cada namespace e clique em Preferências.

    1. Verifique se não há uma substituição com a chave system.profile.properties.imageVersion com um valor de versão de imagem incorreto.

    2. Clique em Concluir.

Mudar a imagem nos perfis de computação do sistema

  1. Acesse a interface da Web do Cloud Data Fusion.

  2. Clique em Administrador do sistema > Configuração.

  3. Clique em Sistema Perfis de computação > Criar novo perfil.

  4. Selecione o provisionador do Dataproc.

    Selecionar o provisionador do Dataproc

  5. Crie o perfil para o Dataproc. No campo Image Version, insira uma versão da imagem do Dataproc.

    Insira a versão da imagem

  6. 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.

  7. Selecione o perfil do Dataproc e clique em Salvar.

  8. 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:

  1. Acesse a interface da Web do Cloud Data Fusion.

  2. Clique em menu Menu > Lista.

  3. Na página Lista, selecione o pipeline que você quer atualizar.

    O pipeline é aberto na página Studio.

  4. Para expandir as opções Run, clique na seta de expansão .

    A janela Argumentos de execução é aberta.

  5. Verifique se não há uma substituição com a chave system.profile.properties.imageVersion com uma versão de imagem incorreta como valor.

  6. Clique em Salvar.

    Definir o argumento de tempo de execução do pipeline

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

  1. No console do Google Cloud, acesse a página Clusters do Dataproc.

    Acessar Clusters

  2. 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

  1. 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 namespace
    • REGION_ID pelo nome da região em que os clusters estão localizados
  2. Pesquise o nome do pipeline (nome do cluster).

  3. 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.

Aumentar a memória do driver e do executor

Como alternativa, é possível substituir a versão do Dataproc definindo o argumento de execução system.profile.properties.imageVersion como 2.0-debian10.