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

Nesta página, descrevemos como alterar a versão da imagem do Dataproc usada pela instância do Cloud Data Fusion. É possível alterar a imagem no nível da instância, do namespace ou do pipeline.

Antes de começar

Interrompa todos os pipelines e jobs de replicação em tempo real na instância do Cloud Data Fusion. Se um pipeline ou uma replicação em tempo real estiver em execução quando você alterar a versão da imagem do Dataproc, as alterações não serão aplicadas à execução do pipeline.

Para pipelines em tempo real, se o checkpoint estiver ativado, interromper os pipelines não causará perda de dados. Interromper e iniciar o job de replicação não causará perda de dados, desde que os registros do banco de dados estejam disponíveis.

Console

  1. Acesse a página Instâncias do Cloud Data Fusion (no CDAP, clique em Ver instâncias) e abra a instância em que é preciso interromper um pipeline.

    Acesse "Instâncias"

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

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

    Editar preferências do sistema

  3. Se uma imagem do Dataproc não estiver especificada nas Preferências do sistema, ou para alterar a preferência, clique em Editar preferências do sistema.

    1. Digite o seguinte texto no campo Key:

      system.profile.properties.imageVersion

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

    3. Clique em Salvar e fechar.

Definir preferências para o sistema

Essa alteração 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 ambiente de execução na instância.

Alterar a versão da imagem do Dataproc

A versão da imagem pode ser definida na interface da Web do Cloud Data Fusion nas configurações do Compute, nas preferências de namespace ou nos argumentos do ambiente de execução do pipeline.

Mudar a imagem em "Preferências de namespace"

Se você substituiu 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 > Namespaces.

  3. Abra cada namespace e clique em Preferences.

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

    2. Clique em Finish.

Mudar a imagem em "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 System Compute Profiles > Create New Profile.

  4. Selecione o provisionador do Dataproc.

    Selecionar o provisionador

  5. Crie o perfil do Dataproc. No campo Versão da imagem, insira uma versão de imagem do Dataproc.

    Campo de versão da imagem

  6. Selecione este perfil de computação enquanto executa o pipeline na página Studio. Na página de execução do pipeline, clique em Configurar > Configuração do Compute e selecione esse perfil.

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

  8. Clique em Finish.

Alterar a imagem nos argumentos de ambiente de execução do pipeline

Se você substituiu a versão da imagem por uma propriedade nos argumentos de ambiente de execução do pipeline, siga estas etapas:

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

  2. Clique em Menu > Lista.

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

    O pipeline é aberto na página do Studio.

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

    A janela Runtime Arguments é aberta.

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

  6. Clique em Save.

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

Recriar clusters estáticos do Dataproc usados pelo Cloud Data Fusion com a versão da imagem escolhida

Se você usa clusters atuais do Dataproc com o Cloud Data Fusion, siga o guia do Dataproc para recriar os clusters com a versão de 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 do Dataproc e exclua e recrie o perfil de computação no Cloud Data Fusion com o mesmo nome de perfil de computação e o nome de 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 ocorrem no novo cluster do Dataproc. Exclua o cluster antigo do Dataproc depois de confirmar que todas as execuções do 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 referente ao novo cluster que o Cloud Data Fusion criou quando você especificou a nova versão.

    O campo Image version tem o novo valor especificado no Cloud Data Fusion.

API REST

  1. Receba a lista de clusters com os respectivos 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. Abaixo desse objeto JSON, confira a imagem em config > softwareConfig > imageVersion.

Mudar a imagem do Dataproc para a versão 2.1

As versões 6.9.1 e posteriores do Cloud Data Fusion são compatíveis com a imagem 2.1 do Dataproc do Compute Engine, executada em Java 11. Nas versões 6.10.0 e posteriores, a imagem 2.1 é o padrão.

Se você mudar para a imagem 2.1, para que os pipelines em lote e os jobs de replicação sejam bem-sucedidos, 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 2.1 do Dataproc tem as seguintes limitações no Cloud Data Fusion:

  • Os drivers JDBC do IBM Netezza e do DB2 11 não são compatíveis.
  • A imagem 2.1 não funciona com jobs de redução de mapa.
  • As versões do driver JDBC usadas nos plug-ins do banco de dados na instância precisam ser atualizadas para serem compatíveis com o Java 11. Consulte a tabela a seguir para conhecer as versões do driver que funcionam com o Dataproc 2.1 e o Java 11:
Drivers JDBC Versões anteriores removidas do Cloud Data Fusion 6.9.1 Versões compatíveis com Java 8 e Java 11 que funcionam com Dataproc 2.0 ou 2.1
Driver JDBC do Cloud SQL para MySQL - 1.0.16
Driver JDBC do Cloud SQL para PostgreSQL - 1.0.16
Driver JDBC DB2 11 - -
Driver JDBC do Microsoft SQL Server Driver JDBC 6.0 da Microsoft Driver JDBC 9.4 da Microsoft
Driver JDBC do MySQL 5.0.8, 5.1.39 8.0.25
Driver JDBC do IBM Netezza - -
Driver JDBC do PostgreSQL 9.4.1211.jre7, 9.4.1211.jre8 42.6.0.jre8
Driver Oracle JDBC ojdbc7 ojdbc8 (12c e acima)

Uso da memória ao usar o Dataproc 2.1

O uso da memória pode aumentar em pipelines que usam clusters do Dataproc 2.1. Se você fizer upgrade da sua instância para a versão 6.10.0 ou posterior e os pipelines anteriores estiverem falhando devido a problemas de memória, aumente a memória do driver e do executor para 2.048 MB na configuração Resources do pipeline. Configure os recursos.

Como alternativa, modifique a versão do Dataproc definindo o argumento de ambiente de execução system.profile.properties.imageVersion como 2.0-debian10.