Como fazer upgrade de instâncias e pipelines

É possível fazer upgrade das instâncias e pipelines de lote do Cloud Data Fusion para as versões mais recentes da plataforma e do plug-in para ter acesso aos recursos mais recentes, correções de bugs e melhorias no desempenho. O processo de upgrade envolve inatividade da instância e do pipeline (consulte Antes de começar).

Antes de começar

  • Planeje um período de inatividade programado para o upgrade. O processo leva até uma hora.

  • Recomendado: antes de fazer upgrade, interrompa todos os pipelines em execução e desative os gatilhos upstream, como os do Cloud Composer. Quando o upgrade começa, todos os pipelines em execução são interrompidos. Se você fizer upgrade para as versões 6.3 e posteriores, se todos os pipelines estiverem em execução com antecedência, o Cloud Data Fusion não os reiniciará. Nas versões anteriores, o Cloud Data Fusion tenta reiniciá-las.

  • Instalar o SDK do Cloud.

  • Instale curl.

Como fazer upgrade de instâncias do Cloud Data Fusion

Para fazer upgrade de uma instância do Cloud Data Fusion para uma nova versão do Cloud Data Fusion:

  1. No Console do Cloud, abra a página Instâncias.

    Abrir a página "Instâncias"

  2. Clique em Instance Name para abrir a página Detalhes da instância. Nesta página, você encontra informações sobre instâncias, incluindo instance id, region, version atual do Cloud Data Fusion, configurações de geração de registros e monitoramento e rótulos de instância.

Em seguida, realize o upgrade usando o Console do Cloud ou a ferramenta de linha de comando gcloud:

Console

  1. Clique em Fazer upgrade para ver uma lista das versões disponíveis.

  2. Selecione a versão de sua preferência.

  3. Clique em Fazer upgrade.

  4. Clique em Visualizar instância para acessar a instância atualizada.

  5. Verifique se a atualização foi bem-sucedida, atualizando a página Detalhes da instância e clicando em Administrador do sistema na barra de menus. O novo número da versão é exibido na parte superior da página.

  6. Para evitar que os pipelines fiquem travados quando forem executados na nova versão:

    1. Conceda os papéis necessários na instância atualizada.

    2. Se você fez upgrade para a versão 6.2.0 ou superior e o cluster do Dataproc trava no estado de provisionamento, consulte Como adicionar tags de rede.

gcloud

  1. Execute o seguinte comando gcloud a partir de uma sessão do Cloud Shell de terminal local para fazer upgrade para uma nova versão do Cloud Data Fusion. Adicione as sinalizações --enable_stackdriver_logging, --enable_stackdriver_monitoring e --labels, se elas se aplicarem ao seu instância.

    gcloud beta data-fusion instances update \
        --project=PROJECT_ID \
        --location=REGION \
        --version=NEW_VERSION_NUMBER INSTANCE_ID
    

  2. Após a conclusão do comando, verifique se o upgrade foi bem-sucedido. No Console do Cloud, recarregue a página Detalhes da instância e clique em Administrador do sistema na barra de menus. O novo número aparece na parte superior da página.

  3. Para evitar que os pipelines fiquem travados quando forem executados na nova versão:

    1. Conceda os papéis necessários na instância atualizada.

    2. Se você fez upgrade para a versão 6.2.0 ou superior e o cluster do Dataproc trava no estado de provisionamento, consulte Como adicionar tags de rede.

Como fazer upgrade de pipelines em lote

Para fazer upgrade dos pipelines em lote do Cloud Data Fusion para usar as versões mais recentes do plug-in:

  1. Definir as variáveis de ambiente.

  2. Recomendado: faça backup de todos os pipelines.

    1. Execute o seguinte comando e copie a saída do URL para seu navegador para acionar um download de arquivo ZIP.

      echo $CDAP_ENDPOINT/v3/export/apps
      

    2. Descompacte o arquivo baixado e confirme se todos os pipelines foram exportados. Os pipelines são organizados por namespace.

  3. Fazer upgrade de pipelines.

    1. Crie uma variável que aponte para o arquivo pipeline_upgrade.json que você criará na próxima etapa para salvar uma lista de pipelines (insira o PATH no arquivo).

      export PIPELINE_LIST=PATH/pipeline_upgrade.json
      

    2. Crie uma lista de todos os pipelines de uma instância e um namespace usando o comando a seguir. O resultado é armazenado no arquivo $PIPELINE_LIST no formato JSON. É possível editar a lista para remover os pipelines que não precisam ser atualizados. Defina o campo NAMESPACE_ID como o namespace em que você quer que o upgrade ocorra.

      curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/apps -o $PIPELINE_LIST
      

    3. Faça upgrade dos pipelines listados em pipeline_upgrade.json. Insira o NAMESPACE_ID de pipelines para upgrade. O comando exibe uma lista de pipelines atualizados com o status de upgrade.

      curl -N -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" ${CDAP_ENDPOINT}/v3/namespaces/NAMESPACE_ID/upgrade --data @$PIPELINE_LIST
      

  4. Para evitar que os pipelines fiquem travados quando forem executados na nova versão:

    1. Conceda os papéis necessários na instância atualizada.

    2. Se você fez upgrade para a versão 6.2.0 ou superior e o cluster do Dataproc trava no estado de provisionamento, consulte Como adicionar tags de rede.

Como fazer upgrade para ativar a replicação

A replicação pode ser ativada nos ambientes do Cloud Data Fusion na versão 6.3.0 ou superior. Se você tiver a versão 6.2.3, faça upgrade para a 6.3.0 e ative a replicação.

Como conceder papéis a instâncias atualizadas

Se você fizer upgrade de uma instância da versão 6.1.x do Cloud Data Fusion para as versões 6.2.0 ou posteriores, conceda o papel de executor do Cloud Data Fusion e Papel de administrador do Cloud Storage para a conta de serviço do Dataproc no seu projeto.

Como adicionar tags de rede

As tags de rede são preservadas nos perfis de computação quando você faz upgrade das versões 6.2.x ou mais recentes do Cloud Data Fusion para uma versão mais recente.

Se você fizer upgrade da versão 6.1.x para a versão 6.2.0 e mais recente, as tags de rede não serão preservadas. Isso pode fazer com que o cluster do Dataproc fique preso no estado de provisionamento, especialmente se o ambiente tiver políticas restritivas de rede e segurança.

Em vez disso, adicione manualmente suas tags de rede a cada um dos perfis de computação usados em cada instância atualizada.

Para adicionar as tags de rede a um perfil de computação:

  1. No Console do Google Cloud, abra a página Instâncias do Cloud Data Fusion.

  2. Clique em Visualizar instância.

  3. Clique em Administrador do sistema.

  4. Clique na guia Configuration.

  5. Expanda a caixa System Compute Profiles.

  6. Clique em Criar novo perfil. Uma página de provisionadores será aberta.

  7. Clique em Dataproc.

  8. Insira as informações do perfil desejadas, incluindo as tags de rede.

  9. Clique em Criar.

Depois de adicionar as tags, use o perfil atualizado no seu pipeline. As novas tags serão preservadas em versões futuras.

Versões disponíveis para seu upgrade

Em geral, ao fazer upgrade, recomendamos o uso da versão mais recente do ambiente do Cloud Data Fusion para que as instâncias sejam executadas em um ambiente compatível por mais tempo possível. Para mais informações, consulte a Política de suporte de versões. Dependendo da versão original, os upgrades para algumas versões podem não estar disponíveis. Nesses casos, é possível fazer upgrade para uma versão compatível com os upgrades da versão desejada.

O Cloud Data Fusion é compatível com os upgrades de versão a seguir:

Sua versão do Cloud Data Fusion Upgrades disponíveis
6.4.1 6.5.0
6.4.0 6.4.1
6.3.1 6.4.1 e 6.5.0
6.3.0 6.3.1 e 6.4.1
6,2.3 6.3.1, 6.4.1, 6.5.0
6,2.2 6,2.3
6.2.1 6.2.2, 6.2.3
6.2.0 6.2.1, 6.2.2, 6.2.3
6.1.4 6.3.1, 6.4.1, 6.5.0
6.1.3 6.1.4, 6.3.1
6.1.2 6.1.3, 6.1.4

Solução de problemas

Ao fazer upgrade para a versão 6.4, há um problema conhecido com o plug-in do Joiner em que não é possível ver as condições de junção. Para mais informações, consulte a página Solução de problemas.