Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Nesta página, explicamos como transferir DAGs, dados e configurações dos ambientes atuais do Cloud Composer 1, Airflow 2 para o Cloud Composer 3, Airflow 2 usando instantâneos.
Outros guias de migração
De | Para | Método | Guia |
---|---|---|---|
Cloud Composer 2 | Cloud Composer 3 | lado a lado, usando o script de migração | Guia de migração de scripts |
Cloud Composer 2 | Cloud Composer 3 | Lado a lado, usando snapshots | Guia de migração de snapshots |
Cloud Composer 1, Airflow 2 | Cloud Composer 3 | Lado a lado, usando snapshots | Este guia |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | Lado a lado, usando snapshots | Guia de migração de snapshots |
Cloud Composer 1, Airflow 2 | Cloud Composer 2 | Transferência manual lado a lado | Guia de migração manual |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Lado a lado, usando snapshots | Guia de migração de snapshots |
Cloud Composer 1, Airflow 1 | Cloud Composer 2, Airflow 2 | Transferência manual lado a lado | Guia de migração manual |
Cloud Composer 1, Airflow 1 | Cloud Composer 1, Airflow 2 | Transferência manual lado a lado | Guia de migração manual |
Antes de começar
O Cloud Composer é compatível com a migração lado a lado do Cloud Composer 1 para o Cloud Composer 3. Não é possível fazer upgrade do Cloud Composer 1 para o Cloud Composer 3 no local.
Confira a lista de diferenças entre o Cloud Composer 1, o Cloud Composer 2 e o Cloud Composer 3.
O tamanho máximo do banco de dados do Airflow compatível com snapshots é de 20 GB. Se o banco de dados do seu ambiente ocupar mais de 20 GB, reduz o tamanho do banco de dados do Airflow.
O número total de objetos nas pastas
/dags
,/plugins
e/data
no bucket do ambiente precisa ser menor que 100.000 para criar snapshots.Se você usar o mecanismo XCom para transferir arquivos, use-o de acordo com as diretrizes do Airflow. A transferência de arquivos grandes ou de um grande número de arquivos usando o XCom afeta a performance do banco de dados do Airflow e pode causar falhas ao carregar instantâneos ou fazer upgrade do seu ambiente. Considere usar alternativas, como o Cloud Storage, para transferir grandes volumes de dados.
Verifique se os DAGs são compatíveis com o Cloud Composer 3
Para garantir que seus DAGs sejam compatíveis com o Cloud Composer 3, siga estas sugestões:
A [lista de pacotes][cc-versions] no ambiente do Cloud Composer 3 pode ser diferente da do Cloud Composer 1. Isso pode afetar a compatibilidade dos seus DAGs com o Cloud Composer 3.
O Cloud Composer carrega modificações de configuração, variáveis de ambiente e pacotes PyPI do instantâneo do ambiente do Cloud Composer 1 para o Cloud Composer 3 sem mudar ou ajustar para compatibilidade. Se os pacotes PyPI personalizados causarem conflitos de dependência, você poderá pular a instalação deles ao carregar o snapshot.
No Cloud Composer 3, o cluster do ambiente está localizado no projeto do locatário. Verifique se os DAGs são compatíveis com essa mudança. Especificamente, as cargas de trabalho do
KubernetesPodOperator
agora são dimensionadas de forma independente do ambiente, e não é possível usar configurações de afinidade de pods.No Cloud Composer 3, não é possível acessar o banco de dados do Airflow diretamente. Confira se os DAGs são compatíveis com essa mudança.
Pausar DAGs no ambiente do Cloud Composer 1
Para evitar execuções de DAG duplicadas, pause todos os DAGs no ambiente do Cloud Composer 1 antes de salvar o snapshot. Ignore o DAG de monitoramento de atividade
(airflow_monitoring
), que é usado para fins de monitoramento e não é incluído
nos snapshots do ambiente.
Você pode usar uma das seguintes opções:
Na interface da Web do Airflow, acesse DAGs e pause todos os DAGs manualmente.
Use o script composer_dags para pausar todos os DAGs:
python3 composer_dags.py --environment COMPOSER_1_ENV \ --project PROJECT_ID \ --location COMPOSER_1_LOCATION \ --operation pause
Substitua:
COMPOSER_1_ENV
pelo nome do ambiente do Cloud Composer 1.PROJECT_ID
pelo ID do projeto;COMPOSER_1_LOCATION
pela região em que o ambiente está localizado;
(versões do Airflow 2.9.1 e mais recentes) Se houver erros de cota ao pausar um grande número de DAGs, use os seguintes comandos da CLI do Airflow para pausar todos os DAGs de uma só vez:
gcloud composer environments run COMPOSER_1_ENV dags pause \ --project PROJECT_ID \ --location COMPOSER_1_LOCATION \ -- -y --treat-dag-id-as-regex ".*"
(versões do Airflow anteriores à 2.9.1) Se houver erros de cota ao pausar um grande número de DAGs, será possível pausar os DAGs usando a API REST do Airflow. Consulte também Testar a API na documentação do Airflow.
Salve o snapshot do ambiente do Cloud Composer 1.
Console
Crie um snapshot do seu ambiente:
No Google Cloud console, acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente do Cloud Composer 1. A página Detalhes do ambiente é aberta.
Clique em Criar snapshot.
Na caixa de diálogo Criar snapshot, clique em Enviar. Neste guia, você salva o snapshot no bucket do ambiente do Cloud Composer 1, mas pode selecionar um local diferente, se quiser.
Aguarde até que o Cloud Composer crie o instantâneo.
gcloud
Receba o URI do bucket do ambiente do Cloud Composer 1:
Execute este comando:
gcloud composer environments describe COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --format="value(config.dagGcsPrefix)"
Substitua:
COMPOSER_1_ENV
pelo nome do ambiente do Cloud Composer 1.COMPOSER_1_LOCATION
pela região em que o ambiente está localizado;
Na saída, remova a pasta
/dags
. O resultado é o URI do bucket do ambiente do Cloud Composer 1.Por exemplo, altere
gs://us-central1-example-916807e1-bucket/dags
parags://us-central1-example-916807e1-bucket
.
Crie um snapshot do seu ambiente do Cloud Composer 1:
gcloud composer environments snapshots save \ COMPOSER_1_ENV \ --location COMPOSER_1_LOCATION \ --snapshot-location "COMPOSER_1_SNAPSHOTS_FOLDER"
Substitua:
COMPOSER_1_ENV
pelo nome do ambiente do Cloud Composer 1.COMPOSER_1_LOCATION
é a região em que o ambiente do Cloud Composer 1 está localizado.COMPOSER_1_SNAPSHOTS_FOLDER
pelo URI do bucket do ambiente do Cloud Composer 1. Neste guia, você salva o snapshot no bucket do ambiente do Cloud Composer 1, mas pode selecionar um local diferente, se quiser. Se você especificar um local personalizado, as contas de serviço dos dois ambientes precisarão ter permissões de leitura e gravação para qualquer local disponível para as contas de serviço dos dois ambientes.
Criar um ambiente do Cloud Composer 3
Crie um ambiente do Cloud Composer 3. É possível começar com uma predefinição de ambiente que corresponda às demandas de recursos esperadas e, depois, escalonar e otimizar o ambiente ainda mais.
Não é necessário especificar as substituições de configuração e as variáveis de ambiente, porque elas serão substituídas mais tarde quando você carregar o snapshot do seu ambiente do Cloud Composer 1.
Carregar o snapshot no ambiente do Cloud Composer 3
Console
Para carregar o snapshot no ambiente do Cloud Composer 3:
No Google Cloud console, acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente do Cloud Composer 3. A página Detalhes do ambiente é aberta.
Clique em Carregar snapshot.
Na caixa de diálogo Carregar snapshot, clique em Procurar.
Selecione a pasta com o snapshot. Se você usar o local padrão para este guia, a pasta estará localizada no bucket do ambiente do Cloud Composer 1 na pasta
/snapshots
e o nome dela será o carimbo de data/hora da operação de salvamento do snapshot. Por exemplo,us-central1-example-916807e1-bucket/snapshots_example-project_us-central1_example-environment/2022-01-05T18-59-00
.Clique em Carregar e aguarde até que o Cloud Composer carregue o snapshot.
gcloud
Carregue o snapshot do ambiente do Cloud Composer 1 para o ambiente do Cloud Composer 3:
gcloud composer environments snapshots load \
COMPOSER_3_ENV \
--location COMPOSER_3_LOCATION \
--snapshot-path "SNAPSHOT_PATH"
Substitua:
COMPOSER_3_ENV
pelo nome do ambiente do Cloud Composer 3.COMPOSER_3_LOCATION
é a região em que o ambiente do Cloud Composer 3 está localizado.SNAPSHOT_PATH
pelo URI do bucket do ambiente do Cloud Composer 1, seguido pelo caminho para o snapshot. Por exemplo,gs://us-central1-example-916807e1-bucket/snapshots/example-project_us-central1_example-environment_2022-01-05T18-59-00
.
Cancelar a pausa dos DAGs no ambiente do Cloud Composer 3
Você pode usar uma das seguintes opções:
Na interface da Web do Airflow, acesse DAGs e retome a execução de todos os DAGs manualmente, um por um.
Use o script composer_dags para retomar todos os DAGs:
python3 composer_dags.py --environment COMPOSER_3_ENV \ --project PROJECT_ID \ --location COMPOSER_3_LOCATION \ --operation unpause
Substitua:
COMPOSER_3_ENV
pelo nome do ambiente do Cloud Composer 3.PROJECT_ID
pelo ID do projeto;COMPOSER_3_LOCATION
pela região em que o ambiente está localizado;
(versões do Airflow 2.9.1 e mais recentes) Se houver erros de cota ao retirar a pausa de um grande número de DAGs, use os seguintes comandos da CLI do Airflow para retirar a pausa de todos os DAGs de uma só vez:
gcloud composer environments run COMPOSER_3_ENV dags unpause \ --project PROJECT_ID \ --location COMPOSER_3_LOCATION \ -- -y --treat-dag-id-as-regex ".*"
(versões do Airflow anteriores à 2.9.1) Se houver erros de cota ao retirar a pausa de um grande número de DAGs, será possível remover a pausa usando a API REST do Airflow. Consulte também Testar a API na documentação do Airflow.
Verificar se há erros do DAG
Na interface da Web do Airflow, acesse DAGs e verifique se há erros de sintaxe de DAG relatados.
Verifique se as execuções de DAG estão programadas para o horário correto.
Aguarde até que as execuções do DAG aconteçam no ambiente do Cloud Composer 3 e verifique se foram bem-sucedidas. Se uma execução do DAG foi bem-sucedida, não retome-a no ambiente do Cloud Composer 1. Se você fizer isso, uma execução do DAG para o mesmo horário e data vai acontecer no ambiente do Cloud Composer 1.
Se uma execução de DAG específica falhar, tente resolver problemas do DAG até que ele seja executado no Cloud Composer 3.
Monitorar o ambiente do Cloud Composer 3
Depois de transferir todos os DAGs e a configuração para o ambiente do Cloud Composer 3, monitore-os em busca de possíveis problemas, execuções com falha do DAG e integridade geral do ambiente.
Se o ambiente do Cloud Composer 3 for executado sem problemas por um período suficiente, avalie a possibilidade de excluir o ambiente do Cloud Composer 1.
A seguir
- Como resolver problemas de DAGs
- Como resolver problemas da criação de ambientes
- Solução de problemas de atualizações do ambiente