簡體   English   中英

如何在 Airflow 中將 Postgres 設置為后端數據庫?

[英]how to set Postgres as backend database in Airflow?

我正在嘗試在 postgres 和 airflow 之間建立連接,這是我的 docker-compose

version: '3'
services:
    postgres:
        image: postgres
        environment:
            - POSTGRES_USER=airflow
            - POSTGRES_PASSWORD=airflow
            - POSTGRES_DB=airflow
    webserver:
        image: apache/airflow:1.10.13-python3.6
        command: bash -c "airflow initdb; airflow webserver; airflow scheduler;"
        environment:
            - AIRFLOW_DATABASE_USERNAME=airflow
            - AIRFLOW_DATABASE_PASSWORD=airflow
            - AIRFLOW_DATABASE_NAME=airflow
        volumes:
            - ../airflow/dag:/opt/airflow/dags
        ports:
           - 8080:8080

設置 postgres 配置設置后,它仍然將 SQLite 作為后端數據庫。 日志如下

ravi@ravi:~/Documents/airflow$ docker-compose up airflow_webserver 
Starting airflow_airflow_webserver_1 ... 
Starting airflow_airflow_webserver_1 ... done
Attaching to airflow_airflow_webserver_1
airflow_webserver_1  | DB: sqlite:////opt/airflow/airflow.db
airflow_webserver_1  | [2020-12-06 12:53:22,911] {db.py:378} INFO - Creating tables
airflow_webserver_1  | INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
airflow_webserver_1  | INFO  [alembic.runtime.migration] Will assume non-transactional DDL.
airflow_webserver_1  | Done.

添加以下兩個環境變量后, airflow 現在將后端數據庫作為Postgres

AIRFLOW__CORE__SQL_ALCHEMY_CONN=postgresql+psycopg2://airflow:airflow@postgres/airflow 
AIRFLOW__CORE__EXECUTOR=LocalExecutor

謝謝@elad

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM