Dados armazenados no Cloud Storage

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Nesta página, descrevemos quais dados do seu ambiente o Cloud Composer armazena no Cloud Storage.

Quando você cria um ambiente, um bucket do Cloud Storage gerado pelo Cloud Composer é associado a ele. O nome do bucket tem como base o ambiente região, nome e um ID aleatório, como us-central1-b1-6efabcde-bucket.

O Cloud Composer sincroniza pastas específicas no bucket do seu ambiente para os componentes do Airflow que são executados nele. Por exemplo, quando você atualiza um arquivo com o código do DAG do Airflow no do bucket do ambiente, os componentes do Airflow também recebem a versão atualizada. O Cloud Composer usa o 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 da Web do Airflow e na guia Registros no console do Google Cloud.

O Cloud Composer sincroniza as pastas dags/ e plugins/ unidirecional. A sincronização unidirecional significa que as mudanças locais as pastas em um componente do Airflow são substituídas. data/ e logs/ as pastas são sincronizadas bidirecionalmente.

A sincronização dos dados tem consistência posterior. Para enviar mensagens de um operador para outro, usar XComs (em inglês).

Observações sobre capacidade

Os dados das pastas dags/, plugins/ e data/ estão sincronizados com o Airflow programadores e workers.

No Airflow 2, o conteúdo da pasta plugins/ também é sincronizado com o Servidor da Web do Airflow. No Airflow 1, as pastas de conteúdo dags/ e plugins/ será sincronizado com o servidor da Web do Airflow somente se a serialização do DAG estiver desativada. Caso contrário, a sincronização não será realizada.

Quanto mais dados são colocados nessas pastas, mais espaço é ocupado no armazenamento local dos componentes do Airflow. Economia de dados demais em dags/ e plugins/ podem interromper suas operações e causar problemas como os seguintes:

  • Um worker ou um programador fica sem armazenamento local e é removido porque de espaço insuficiente no disco local do componente.

  • Sincronização de arquivos das pastas dags/ e plugins/ com os workers e programadores leva muito tempo.

  • Sincronização de arquivos de pastas dags/ e plugins/ com workers e os programadores se torna impossíveis. Por exemplo, você armazena um arquivo de 2 GB no dags/, mas o disco local de um worker do Airflow só pode podem acomodar 1 GB. Durante a sincronização, o worker fica sem conexão armazenamento e sincronização não podem ser concluídos.

Pastas de DAGs e plug-ins

Para evitar falhas na execução do DAG, armazene seus DAGs, plug-ins e módulos Python no Pastas dags/ ou plugins/, mesmo que os módulos Python não contenham DAGs ou plug-ins.

Por exemplo, você usa um DataFlowPythonOperator que referencia uma py_file. pipeline do Dataflow. Esse py_file não contém DAGs ou mas ainda será preciso armazená-los na pasta dags/ ou plugins/.

Pasta de dados

Há casos em que determinados arquivos da pasta data/ são sincronizados com um componente específico do Airflow. Por exemplo, quando O Cloud Composer tenta ler um determinado arquivo pela primeira vez durante:

  • Análise do DAG: quando um arquivo é lido pela primeira vez durante esse processo, O Cloud Composer o sincroniza com o programador que analisa o DAG.

  • Execução do DAG: quando um arquivo é lido pela primeira vez durante a execução do DAG, O Cloud Composer faz a sincronização com o worker que está executando a execução.

Os componentes do Airflow têm armazenamento local limitado. Por isso, considere excluir para liberar espaço em disco nos componentes. Observe que as instâncias o uso do armazenamento também pode aumentar temporariamente se você tiver tarefas simultâneas que fazer o download do mesmo arquivo em um único worker do Airflow.

Pasta de registros

A pasta logs/ é sincronizada dos workers do Airflow para o usando a API Cloud Storage.

A cota da API Cloud Storage é calculada pela quantidade de dados movidos. Portanto, o número de tarefas do Airflow que o sistema executa pode aumentar uso da API Cloud Storage: quanto mais tarefas você executar, maior será o tamanho do registro .

Sincronização com o servidor da Web

O Airflow 2 usa a serialização de DAGs por padrão. A pasta plugins/ é sincronizado automaticamente com o servidor da Web para que os plug-ins possam ser carregados por interface do Airflow. Não é possível desativar a serialização do DAG no Airflow 2.

No Airflow 1, a serialização do DAG tem suporte e é ativada por padrão em Cloud Composer

  • Quando a serialização do DAG está ativada, os arquivos de dags/ e plugins/ pastas não são sincronizadas com o servidor da Web.
  • Quando a serialização do DAG está desativada, os arquivos de dags/ e plugins/ são sincronizados com o servidor da Web.
.

A seguir