Airflow gerenciado (Geração 3) | Airflow gerenciado (Geração 2) | Airflow gerenciado (Geração 1 legada)
Nesta página, você vê quais dados do ambiente são armazenados pelo Serviço Gerenciado para Apache Airflow no Cloud Storage.
Quando você cria um ambiente, o Airflow gerenciado cria um
bucket do Cloud Storage e o associa
ao ambiente. O nome do bucket é baseado na região do ambiente, no nome e em um ID aleatório, como us-central1-b1-6efabcde-bucket.
O Airflow gerenciado sincroniza pastas específicas no bucket do ambiente com os componentes do Airflow executados no ambiente. Por exemplo, quando você atualiza um arquivo com o código do DAG do Airflow no bucket do ambiente, os componentes do Airflow também recebem a versão atualizada. O Airflow gerenciado usa Cloud Storage FUSE para sincronização.
Pastas no bucket do Cloud Storage
| Pasta | Caminho de armazenamento | Diretório mapeado | Descrição |
|---|---|---|---|
| DAG | gs://bucket-name/dags |
/home/airflow/gcs/dags |
Armazena os DAGs do ambiente. |
| Plug-ins | gs://bucket-name/plugins |
/home/airflow/gcs/plugins |
Armazena os plug-ins personalizados, como interfaces, sensores, hooks e operadores internos do Airflow. |
| Dados | gs://bucket-name/data |
/home/airflow/gcs/data |
Armazena os dados gerados e usados pelas tarefas. |
| Registros | gs://bucket-name/logs |
/home/airflow/gcs/logs |
Armazena os registros de tarefas do Airflow. Os registros também estão disponíveis na interface do Airflow e na guia Registros do Google Cloud console. |
O Airflow gerenciado sincroniza pastas unidirecionalmente: do bucket para os componentes do Airflow. A sincronização unidirecional significa que as mudanças locais nessas pastas em um componente do Airflow são substituídas.
A sincronização dos dados tem consistência eventual. Para enviar mensagens entre operadores, use XComs.
Observações sobre capacidade
Os dados das pastas dags/, plugins/ e data/ são sincronizados com os programadores e workers do Airflow.
O conteúdo da pasta plugins/ é sincronizado com o servidor da Web do Airflow.
Quanto mais dados forem colocados nessas pastas, mais espaço será ocupado no armazenamento local dos componentes do Airflow. Salvar muitos dados em dags/ e plugins/ pode interromper suas operações e gerar problemas como:
Um worker ou um programador fica sem armazenamento local e é removido devido ao espaço insuficiente no disco local do componente.
A sincronização de arquivos das pastas
dags/eplugins/para workers e programadores leva muito tempo.A sincronização de arquivos das pastas
dags/eplugins/para workers e programadores se torna impossível. Por exemplo, você armazena um arquivo de 2 GB na pastadags/, mas o disco local de um worker do Airflow só pode acomodar 1 GB. Durante a sincronização, o worker fica sem armazenamento local e a sincronização não pode ser concluída.
Pastas de DAGs e plug-ins
Para evitar falhas na execução do DAG, armazene seus DAGs, plug-ins e módulos do Python nas pastas dags/ ou plugins/, mesmo que os módulos do Python não contenham DAGs ou plug-ins.
Por exemplo, você usa um DataFlowPythonOperator que referencia um pipeline do Dataflow py_file. Esse py_file não contém DAGs ou plug-ins, mas ainda precisa ser armazenado na pasta dags/ ou plugins/.
Pasta de dados
Há cenários em que determinados arquivos da pasta data/ são sincronizados com um componente específico do Airflow. Por exemplo, quando o Serviço Gerenciado para Apache Airflow tenta ler um determinado arquivo pela primeira vez durante:
Análise de DAG: quando um arquivo é lido pela primeira vez durante a análise de DAG, o Serviço Gerenciado para Apache Airflow o sincroniza com o programador que analisa o DAG.
Execução de DAG: quando um arquivo é lido pela primeira vez durante a execução de DAG, o Serviço Gerenciado para Apache Airflow o sincroniza com o worker que executa a execução.
Os componentes do Airflow têm armazenamento local limitado. Portanto, considere excluir os arquivos baixados para liberar espaço em disco nos componentes. O uso do armazenamento local também pode aumentar temporariamente se você tiver tarefas simultâneas que baixam o mesmo arquivo para um único worker do Airflow.
Pasta de registros
A pasta logs/ é sincronizada dos workers do Airflow para o bucket do ambiente usando a API Storage.
A cota da API do Cloud Storage é calculada pela quantidade de dados transferidos. Portanto, o número de tarefas do Airflow executadas pelo sistema pode aumentar o uso da API do Cloud Storage: quanto mais tarefas você executar, maiores serão os arquivos de registro.
Sincronização com o servidor da Web
A pasta plugins/ é sincronizada automaticamente com o servidor da Web para que os plug-ins possam ser carregados pela interface do Airflow.