Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Nesta página, você encontrará informações para solucionar problemas que podem ser encontrados ao atualizar ou atualizar ambientes do Cloud Composer.
Para informações sobre solução de problemas relacionadas à criação de ambientes, consulte Solução de problemas de criação de ambientes.
Quando os ambientes do Cloud Composer são atualizados, a maioria dos problemas acontece pelos seguintes motivos:
- Problemas de permissão da conta de serviço
- Problemas de dependência do PyPI
- Tamanho do banco de dados do Airflow
Permissões insuficientes para atualizar ou fazer upgrade de um ambiente
Se o Cloud Composer não puder atualizar ou fazer upgrade de um ambiente devido a com permissões insuficientes, gera a seguinte mensagem de erro:
ERROR: (gcloud.composer.environments.update) PERMISSION_DENIED: The caller does not have permission
Solução: atribuir papéis à sua conta e à conta de serviço do ambiente, conforme descrito em Controle de acesso.
A conta de serviço do ambiente não tem permissões suficientes
Ao criar um ambiente do Cloud Composer, você especifica um serviço conta que executa os nós do cluster do GKE do ambiente. Se esse a conta de serviço não tem permissões suficientes para a operação solicitada O Cloud Composer gera um erro:
UPDATE operation on this environment failed 3 minutes ago with the
following error message:
Composer Backend timed out. Currently running tasks are [stage:
CP_COMPOSER_AGENT_RUNNING
description: "No agent response published."
response_timestamp {
seconds: 1618203503
nanos: 291000000
}
].
Solução: atribuir papéis à sua conta e à conta de serviço do ambiente, conforme descrito em Controle de acesso.
O tamanho do banco de dados do Airflow é muito grande para realizar a operação
Uma operação de upgrade do Cloud Composer pode não ter êxito porque o tamanho o banco de dados do Airflow é muito grande para que as operações de upgrade tenham êxito.
Se o tamanho do banco de dados do Airflow for maior do que 16 GB, o Cloud Composer gerará o seguinte erro:
Airflow database uses more than 16 GB. Please clean the database before upgrading.
Solução: execute a limpeza do banco de dados do Airflow, conforme descrito em Manutenção do banco de dados do Airflow.
Falha no upgrade para uma nova versão do Cloud Composer devido a conflitos de pacote do PyPI
Quando você faz upgrade de um ambiente pacotes PyPI personalizados instalados, talvez você encontre erros relacionados a conflitos de pacotes PyPI. Isso pode acontecer porque a nova imagem do Cloud Composer contém versões mais recentes de pacotes pré-instalados que causam conflitos de dependência com pacotes PyPI que você instalou no ambiente.
Solução:
- Para acessar informações detalhadas sobre conflitos de pacotes, execute um verificação de upgrade.
- Reduzir as restrições de versão para pacotes PyPI personalizados instalados. Por exemplo,
em vez de especificar uma versão como
==1.0.1
, especifique-a como>=1.0.1
. - Para mais informações sobre como mudar os requisitos de versão para resolver dependências conflitantes, consulte documentação do pip.
Não é possível fazer upgrade de um ambiente para uma versão que ainda tem suporte
Os ambientes do Cloud Composer só podem ser atualizados para várias versões mais recentes e anteriores.
As limitações de versão para criar novos ambientes e atualizar ambientes existentes são diferentes. A versão do Cloud Composer escolhida ao criar um novo ambiente pode não estar disponível ao fazer upgrade de ambientes existentes.
É possível realizar a operação de upgrade usando a Google Cloud CLI, a API ou o Terraform. No console do Google Cloud, apenas as versões mais recentes estão disponíveis como opções de upgrade.
A falta de conectividade ao DNS pode causar problemas ao realizar upgrades ou atualizações.
Esses problemas de conectividade podem resultar em entradas de registro como esta:
WARNING - Compute Engine Metadata server unavailable attempt 1 of 5. Reason: [Errno -3] Temporary failure in name resolution Error
Isso geralmente significa que não há uma rota para o DNS. Portanto, verifique se o nome de DNS metadata.google.internal pode ser resolvido para o endereço IP nas redes de cluster, pods e serviços. Verifique se o Acesso privado do Google está ativado na VPC (no projeto host ou de serviço) onde o ambiente é criado.
Mais informações:
A CPU do acionador excede o limite de uma vCPU
O Cloud Composer 2 nas versões 2.4.4 e mais recentes apresenta uma estratégia de alocação de recursos de gatilho diferente para melhorar a escalabilidade de desempenho. Se você encontrar um erro relacionado à CPU do acionador durante a execução de um ambiente atualizar, seus acionadores atuais estão configurada para usar mais de uma vCPU por acionador.
Solução:
- Ajuste a alocação de recursos do acionador para atender ao limite de uma vCPU.
- Caso você perceba problemas com DAGs que usam operadores adiáveis, também recomendamos aumentar o número de acionadores.
Inspecionar avisos de migração com falha
Ao atualizar o Airflow para uma versão posterior, às vezes novas restrições são aplicadas ao banco de dados do Airflow. Se essas restrições não puderem ser aplicadas, o Airflow cria novas tabelas para armazenar as linhas em que as restrições não puderam ser aplicadas. A interface do Airflow mostra uma mensagem de aviso até que as tabelas de dados movidas sejam renomeadas ou descartadas.
Solução:
Use os dois DAGs a seguir para inspecionar os dados movidos e renomear as tabelas.
O DAG list_moved_tables_after_upgrade_dag
lista as linhas que foram movidas
todas as tabelas em que não foi possível aplicar restrições. Inspecione os dados e decida
se você quer manter. Para mantê-lo, você precisa corrigir os dados manualmente em
banco de dados do Airflow. Por exemplo, adicionando as linhas de volta com os dados corretos.
Se você não precisar dos dados ou se já corrigiu o problema, execute o
DAG rename_moved_tables_after_upgrade_dag
. Este DAG renomeia as tabelas movidas.
As tabelas e os dados delas não são excluídos. Assim, você pode analisar os dados mais tarde.
A seguir
- Como atualizar ambientes
- Como fazer upgrade de ambientes
- Como resolver problemas da criação de ambientes