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

Nesta página, descrevemos como alterar a versão de imagem do Dataproc usada pela instância do Cloud Data Fusion. É possível alterar a imagem no nível da instância, namespace ou 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 em tempo real ou replicação são em execução quando você altera a versão da imagem do Dataproc, as mudanças não são aplicadas à execução do pipeline.

Para pipelines em tempo real, se o checkpoint estiver ativado, interromper o pipelines não causa perda de dados. Para jobs de replicação, enquanto já que os registros do banco de dados estão disponíveis, interrompendo e iniciando de replicação não causa perda de dados.

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 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 seu namespace e PIPELINE_NAME com o 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 System Admin > Configuration > System. Preferências.

    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 Key:

      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 para o 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 de execução do pipeline".

Alterar a imagem em preferências de namespace

Se você tiver substituído a versão da imagem nas propriedades de 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 Preferências.

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

    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.

    Selecione o provisionador

  5. Crie o perfil do Dataproc. Na guia Versão de imagem insira uma versão de imagem do Dataproc.

    Campo de versão da imagem

  6. Selecione este perfil de computação ao executar o pipeline no Studio página. Na página de execução do pipeline, clique em Configurar > Computação config 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ê substituiu a versão da imagem com uma propriedade no ambiente de execução argumentos do seu 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 Run, clique na seta de expansão .

    A janela Runtime Arguments será 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 atuais do Dataproc com Cloud Data Fusion, siga a documentação do Dataproc para recriar os clusters com a a versão de imagem do Dataproc escolhida para a para a versão anterior.

Como alternativa, você pode criar um novo cluster do Dataproc com o a versão de imagem do Dataproc escolhida e excluir e recriar a perfil no Cloud Data Fusion com o mesmo nome de perfil de computação e atualizado Nome do cluster do Dataproc. Dessa forma, a execução de pipelines em lote pode concluir a execução no cluster atual, e as execuções de pipeline seguintes 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 Clusters do Dataproc página.

    Acessar Clusters

  2. Abra a página Detalhes do cluster para o novo cluster que Cloud Data Fusion criado quando você especificou a nova versão.

    O campo Versão da imagem tem o novo valor especificado no o Cloud Data Fusion.

API REST

  1. Consulte 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 seus clusters estão localizados
  2. Procure o nome do pipeline (nome do cluster).

  3. Abaixo desse objeto JSON, veja a imagem em config > softwareConfig > imageVersion.

Alterar a imagem do Dataproc para a versão 2.1

As versões 6.9.1 e mais recentes do Cloud Data Fusion são compatíveis com Imagem 2.1 do Dataproc no Compute Engine, executado em 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.1, para os pipelines em lote e que os jobs de replicação sejam bem-sucedidos, os drivers JDBC que o banco de dados os plug-ins usados nessas instâncias precisam ser compatíveis com o Java 11.

A imagem 2.1 do Dataproc tem as seguintes limitações em O Cloud Data Fusion:

  • Os drivers JDBC do IBM Netezza e DB2 11 não são compatíveis.
  • A imagem 2.1 não funciona com jobs de MapReduce.
  • As versões do driver JDBC usadas nos plug-ins do banco de dados na instância precisam ser foi atualizada para oferecer suporte ao Java 11. Consulte a tabela a seguir para motoristas 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 do Microsoft 6.0 Driver do Microsoft JDBC 9.4
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 JDBC do Oracle ojdbc7 ojdbc8 (12c e superior)

Uso da memória ao usar o Dataproc 2.1

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

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