Airflow Gerenciado (Geração 3) | Airflow Gerenciado (Geração 2) | Airflow Gerenciado (Geração 1 legada)
Esta página lista problemas conhecidos do Airflow Gerenciado. Para informações sobre correções de problemas, consulte as notas da versão.
A primeira execução de DAG para um arquivo DAG enviado tem várias tarefas com falha
Quando você faz o upload de um arquivo DAG, às vezes as primeiras tarefas da primeira execução do DAG falham com o erro Unable to read remote log.... Esse problema ocorre porque o arquivo DAG é sincronizado entre o bucket do ambiente, os workers do Airflow e os programadores do Airflow do ambiente. Se o programador receber o arquivo DAG e programá-lo para ser executado por um worker, e se o worker ainda não tiver o arquivo DAG, a execução da tarefa falhará.
Para atenuar esse problema, os ambientes com o Airflow 2 são configurados para realizar duas novas tentativas de uma tarefa com falha por padrão. Se uma tarefa falhar, ela será repetida duas vezes com intervalos de cinco minutos.
O Airflow Gerenciado não deve ser afetado pela vulnerabilidade do Apache Log4j 2 (CVE-2021-44228)
Em resposta à vulnerabilidade do Apache Log4j 2 (CVE-2021-44228), o Airflow Gerenciado realizou uma investigação detalhada e acreditamos que ele não está vulnerável a esse exploit.
A interface do Airflow às vezes não recarrega um plug-in depois que ele é alterado
Se um plug-in consistir em muitos arquivos que importam outros módulos, a interface do Airflow talvez não consiga reconhecer o fato de que um plug-in precisa ser recarregado. Nesse caso, reinicie o servidor da Web do Airflow do seu ambiente.
Erro 504 ao acessar a interface do Airflow
Você pode receber o erro 504 Gateway Timeout ao acessar a interface do Airflow. Esse erro pode ter várias causas:
Problema de comunicação temporário. Nesse caso, tente acessar a interface do Airflow mais tarde. Você também pode reiniciar o servidor da Web do Airflow.
(Somente no Airflow Gerenciado (Geração 3)) Problema de conectividade. Se a interface do Airflow estiver permanentemente indisponível e erros de tempo limite ou 504 forem gerados, verifique se o ambiente pode acessar
*.composer.googleusercontent.com.(Somente no Airflow Gerenciado (Geração 2)) Problema de conectividade. Se a interface do Airflow estiver permanentemente indisponível e erros de tempo limite ou 504 forem gerados, verifique se o ambiente pode acessar
*.composer.cloud.google.com. Se você usar o Acesso Privado do Google e enviar tráfego por IPs virtuaisprivate.googleapis.comou o VPC Service Controls e enviar tráfego por IPs virtuaisrestricted.googleapis.com, verifique se o Cloud DNS também está configurado para nomes de domínio*.composer.cloud.google.com.Servidor da Web do Airflow sem resposta. Se o erro 504 persistir, mas você ainda puder acessar a interface do Airflow em determinados momentos, o servidor da Web do Airflow poderá não estar respondendo porque está sobrecarregado. Tente aumentar os parâmetros de escala e desempenho do servidor da Web.
Erro 502 ao acessar a interface do Airflow
O erro 502 Internal server exception indica que a interface do Airflow não pode atender a solicitações recebidas. Esse erro pode ter várias causas:
Problema de comunicação temporário. Tente acessar a interface do Airflow mais tarde.
Falha ao iniciar o servidor da Web. Para iniciar, o servidor da Web exige que os arquivos de configuração sejam sincronizados primeiro. Verifique os registros do servidor da Web em busca de entradas de registro semelhantes a:
GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmpouGCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp. Se esses erros aparecerem, verifique se os arquivos mencionados nas mensagens de erro ainda estão presentes no bucket do ambiente.Em caso de remoção acidental (por exemplo, porque uma política de retenção foi configurada), você pode restaurá-los:
Defina uma nova variável de ambiente no seu ambiente. Você pode usar qualquer nome e valor de variável.
Substitua uma opção de configuração do Airflow. Você pode usar uma opção de configuração do Airflow inexistente.
Passar o cursor sobre a instância da tarefa na visualização em árvore gera um TypeError não detectado
No Airflow 2, a visualização em árvore na interface do Airflow às vezes não funciona corretamente quando um fuso horário não padrão é usado. Como solução alternativa para esse problema, configure o fuso horário explicitamente na interface do Airflow.
Pastas vazias no programador e nos workers
O Airflow Gerenciado não remove ativamente pastas vazias dos workers e programadores do Airflow. Essas entidades podem ser criadas como resultado do processo de sincronização do bucket do ambiente quando essas pastas existiam no bucket e foram removidas.
Recomendação: ajuste seus DAGs para que eles estejam preparados para ignorar essas pastas vazias.
Essas entidades são removidas dos armazenamentos locais dos programadores e workers do Airflow quando esses componentes são reiniciados (por exemplo, como resultado de operações de redução ou manutenção no cluster do ambiente).
Suporte ao Kerberos
O Airflow Gerenciado não oferece suporte a configuração do Kerberos do Airflow.
Suporte a classes de computação no Airflow Gerenciado (Geração 2) e no Airflow Gerenciado (Geração 3)
O Airflow Gerenciado (Geração 3) e o Airflow Gerenciado (Geração 2) oferecem suporte apenas à classe de computação de uso geral . Isso significa que não é possível executar pods que solicitam outras classes de computação (como Balanceada ou Escalonável).
A classe de uso geral permite a execução de pods que solicitam até 110 GB de memória e até 30 CPUs, conforme descrito em Solicitações máximas de classe de computação.
Se você quiser usar a arquitetura baseada em ARM ou precisar de mais CPU e memória, use uma classe de computação diferente, que não é compatível com clusters do Airflow Gerenciado (Geração 3) e do Airflow Gerenciado (Geração 2).
Recomendação: use GKEStartPodOperator para executar pods do Kubernetes em
um cluster diferente que ofereça suporte à classe de computação selecionada. Se você executar pods personalizados que exigem uma classe de computação diferente, eles também precisarão ser executados em um cluster do Airflow não gerenciado.
Não é possível reduzir o armazenamento do Cloud SQL
O Airflow Gerenciado usa o Cloud SQL para executar o banco de dados do Airflow. Com o tempo, o armazenamento em disco da instância do Cloud SQL pode aumentar porque o disco é escalonado para ajustar os dados armazenados pelas operações do Cloud SQL quando o banco de dados do Airflow cresce.
Não é possível reduzir o tamanho do disco do Cloud SQL.
Como solução alternativa, se você quiser usar o menor tamanho de disco do Cloud SQL, recrie ambientes do Airflow Gerenciado com snapshots.
A métrica de uso do disco do banco de dados não é reduzida após a remoção de registros do Cloud SQL
Os bancos de dados relacionais, como o Postgres ou o MySQL, não removem fisicamente as linhas quando são excluídas ou atualizadas. Em vez disso, eles as marcam como "tuplas inativas" para manter a consistência dos dados e evitar o bloqueio de transações simultâneas.
O MySQL e o Postgres implementam mecanismos de recuperação de espaço após registros excluídos.
Embora seja possível forçar o banco de dados a recuperar o espaço em disco não utilizado, essa é uma operação com muitos recursos que também bloqueia o banco de dados, tornando o Airflow Gerenciado indisponível. Portanto, é recomendável confiar nos mecanismos de criação para recuperar o espaço não utilizado.
Acesso bloqueado: erro de autorização
Se esse problema afetar um usuário, a caixa de diálogo Acesso bloqueado: erro de autorização vai conter a mensagem Error 400: admin_policy_enforced.
Se a opção Controles de API > Apps de terceiros não configurados > Não permitir que os usuários acessem apps de terceiros estiver ativada no Google Workspace e o app Apache Airflow no Airflow Gerenciado não estiver explicitamente permitido, os usuários não poderão acessar a interface do Airflow, a menos que permitam explicitamente o aplicativo.
Para permitir o acesso, siga as etapas fornecidas em Permitir acesso à interface do Airflow no Google Workspace.
Loop de login ao acessar a interface do Airflow
Esse problema pode ter as seguintes causas:
Se as vinculações de acesso baseado no contexto do Chrome Enterprise Premium forem usadas com níveis de acesso que dependem de atributos do dispositivo e o app Apache Airflow no Airflow Gerenciado não estiver isento, não será possível acessar a interface do Airflow devido a um loop de login. Para permitir o acesso, siga as etapas fornecidas em Permitir acesso à interface do Airflow em vinculações de acesso baseado no contexto.
Se as regras de entrada forem configuradas em um perímetro do VPC Service Controls que protege o projeto e a regra de entrada que permite o acesso ao serviço do Airflow Gerenciado usar o tipo de identidade
ANY_SERVICE_ACCOUNTouANY_USER_ACCOUNT, os usuários não poderão acessar a interface do Airflow, resultando em um loop de login. Para mais informações sobre como resolver esse cenário, consulte Permitir acesso à interface do Airflow em regras de entrada do VPC Service Controls.
A pasta /data não está disponível no servidor da Web do Airflow
No Airflow Gerenciado (Geração 2) e no Airflow Gerenciado (Geração 3), o servidor da Web do Airflow é um componente principalmente somente leitura, e o Airflow Gerenciado não sincroniza a pasta data/ com esse componente.
Às vezes, talvez você queira compartilhar arquivos comuns entre todos os componentes do Airflow, incluindo o servidor da Web do Airflow.
Solução :
Inclua os arquivos a serem compartilhados com o servidor da Web em um módulo PYPI e instale-o como um pacote PYPI normal. Depois que o módulo PYPI for instalado no ambiente, os arquivos serão adicionados às imagens dos componentes do Airflow e ficarão disponíveis para eles.
Adicione arquivos à pasta
plugins/. Essa pasta é sincronizada com o servidor da Web do Airflow.
Tempos de análise de DAG não contínuos e diagramas de tamanho do pacote de DAG no monitoramento
Tempos de análise de DAG não contínuos e diagramas de tamanho do pacote de DAG no painel de monitoramento indicam problemas com tempos de análise de DAG longos (mais de 5 minutos).
Solução:recomendamos manter o tempo total de análise do DAG abaixo de 5 minutos. Para reduzir o tempo de análise do DAG, siga as diretrizes de gravação do DAG.
Os registros de tarefas aparecem com atrasos
Sintoma :
- No Airflow Gerenciado (Geração 3), os registros de tarefas do Airflow não aparecem imediatamente e são atrasados por alguns minutos.
- Você pode encontrar mensagens
Logs not found for Cloud Logging filternos registros do Airflow.
Causa :
Se o ambiente executar um grande número de tarefas ao mesmo tempo, os registros de tarefas poderão ser atrasados porque o tamanho da infraestrutura do ambiente não é suficiente para processar todos os registros com rapidez.
Soluções :
- Considere aumentar o tamanho da infraestrutura do ambiente para melhorar o desempenho.
- Distribua as execuções de DAG ao longo do tempo para que as tarefas não sejam executadas ao mesmo tempo.
Tempos de inicialização aumentados para KubernetesPodOperator e KubernetesExecutor
Os pods criados com o KubernetesPodOperator e as tarefas executadas com o KubernetesExecutor têm tempos de inicialização aumentados. A equipe do Airflow Gerenciado está trabalhando em uma solução e vai anunciar quando o problema for resolvido.
Alternativas :
- Inicie pods com mais CPU.
- Se possível, otimize as imagens (menos camadas, tamanho menor).
O ambiente está no estado de ERRO depois que a conta de faturamento do projeto foi excluída ou desativada ou a API Cloud Composer foi desativada
Os ambientes do Airflow Gerenciado afetados por esses problemas não podem ser recuperados:
- Depois que a conta de faturamento do projeto foi excluída ou desativada, mesmo que outra conta tenha sido vinculada mais tarde.
- Depois que a API Composer foi desativada no o projeto, mesmo que tenha sido ativada mais tarde.
Faça o seguinte para resolver o problema:
Você ainda pode acessar os dados armazenados nos buckets do ambiente, mas os ambientes em si não podem mais ser usados. Você pode criar um novo ambiente do Airflow Gerenciado e transferir seus DAGs e dados.
Se você quiser realizar alguma das operações que tornam seus ambientes não recuperáveis, faça backup dos seus dados, por exemplo, criando um snapshot do ambiente. Dessa forma, você pode criar outro ambiente e transferir os dados dele carregando esse snapshot.
Os registros de tarefas do Airflow não são coletados se [core]execute_tasks_new_python_interpreter estiver definido como verdadeiro
O Airflow Gerenciado não coleta registros de tarefas do Airflow se a opção de configuração do Airflow
[core]execute_tasks_new_python_interpreter
estiver definida como True.
Possível solução :
- Remova a substituição dessa opção de configuração ou defina
o valor dela como
False.
Erro ao remover o anexo de rede quando um ambiente é excluído
Se vários ambientes que compartilham o mesmo anexo de rede forem excluídos ao mesmo tempo, algumas operações de exclusão vão falhar com um erro.
Sintomas :
O seguinte erro é gerado:
Got error while removing Network Attachment: <error code>
O código de erro informado pode ser Bad request: <resource> is not ready ou
Precondition failed: Invalid fingerprint.
Possíveis soluções alternativas :
Exclua os ambientes que usam o mesmo anexo de rede um por um.
Desative a conexão com uma rede VPC para seus ambientes antes de excluí-los. Recomendamos essa solução alternativa para a exclusão automatizada de ambientes.
A seguir
- Como resolver problemas da criação de ambientes
- Como resolver problemas de DAGs
- Como solucionar problemas do Airflow Scheduler