Airflow 配置气流以使用CeleryExecutor

Airflow 配置气流以使用CeleryExecutor,airflow,Airflow,我尝试将Airbnb AirFlow配置为使用CeleryExecutor,如下所示: sql_alchemy_conn = sqlite:////root/airflow/airflow.db 我将afflow.cfg中的executer从SequentialExecutor更改为CeleryExecutor: # The executor class that airflow should use. Choices include # SequentialExecutor, LocalEx

我尝试将Airbnb AirFlow配置为使用CeleryExecutor,如下所示:

sql_alchemy_conn = sqlite:////root/airflow/airflow.db
我将afflow.cfg中的
executer
SequentialExecutor
更改为
CeleryExecutor

# The executor class that airflow should use. Choices include
# SequentialExecutor, LocalExecutor, CeleryExecutor
executor = CeleryExecutor
但我得到了以下错误:

airflow.configuration.AirflowConfigException: error: cannot use sqlite with the CeleryExecutor
请注意,
sql\u alchemy\u conn
的配置如下:

sql_alchemy_conn = sqlite:////root/airflow/airflow.db
我看了看气流的GIT()

并发现以下代码引发此异常:

def _validate(self):
        if (
                self.get("core", "executor") != 'SequentialExecutor' and
                "sqlite" in self.get('core', 'sql_alchemy_conn')):
            raise AirflowConfigException("error: cannot use sqlite with the {}".
                format(self.get('core', 'executor')))
从这个
validate
方法看来,
sql\u alchemy\u conn
不能包含
sqlite


您知道如何在没有sqllite的情况下配置
CeleryExecutor
?请注意,我下载了rabitMQ,以便根据需要使用CeleryExecuter。

据AirFlow称,
CeleryExecutor
需要默认数据库SQLite以外的其他后端。例如,您必须使用
MySQL
PostgreSQL

必须更改气流.cfg中的
sql\u alchemy\u conn
,以遵循SqlAlchemy连接字符串结构(请参阅)

比如说,

sql_alchemy_conn = postgresql+psycopg2://airflow:airflow@127.0.0.1:5432/airflow

为mysql配置气流 首先安装mysql,或者直接用谷歌搜索它

  • goto气流安装主管/家庭//气流
  • 编辑afflow.cfg
  • 定位

    sql\u炼金术\u连接=sqlite:////home/vipul/airflow/airflow.db

在它前面加上#,使它看起来像

#sql_alchemy_conn = sqlite:////home/vipul/airflow/airflow.db 
如果您有默认的sqlite

  • 将这一行添加到下面

    sql\u alchemy\u conn=mysql://:@localhost:3306/

  • 保存文件

  • 运行命令

    气流初始数据库


完成了

正如其他答案所述,除了SQLite之外,您还需要使用不同的数据库。此外,您还需要安装rabbitmq,对其进行适当的配置,并更改每个airflow.cfg以获得正确的rabbitmq信息。有关这方面的优秀教程,请参见。

如果您在kubernetes集群上运行它。使用以下配置:

airflow:
  config:
    AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://postgres:airflow@airflow-postgresql:5432/airflow

我可以知道如何添加mysql连接而不是postgresql@abhijeetmotesqlalchemy的msql连接字符串可以类似于
mysql://username:password@主机名:port/database\u name
这是我所学的全部教程。此外,您还需要在连接mysql://:user:password@localhost:3306/数据库