2016-04-24 10 views
5

で動作するように風量を設定する:は、私はこのようなCeleryExecutorを使うにAirbnbの空気の流れを設定しようCeleryExecutor

# The executor class that airflow should use. Choices include 
# SequentialExecutor, LocalExecutor, CeleryExecutor 
executor = CeleryExecutor 

しかし、私は得る:

私はSequentialExecutorからCeleryExecutorにairflow.cfgでexecuterを変更しました次のエラー:

airflow.configuration.AirflowConfigException: error: cannot use sqlite with the CeleryExecutor 

sql_alchemy_connは次のように設定されていること:

sql_alchemy_conn = sqlite:////root/airflow/airflow.db 

私はエアフローのGIT(https://github.com/airbnb/airflow/blob/master/airflow/configuration.py

を見て、次のコードは、この例外をスローすることがわかった:

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'))) 

それはsql_alchemy_connsqliteを含めることはできません。このvalidate方法かららしいです。

CeleryExecutorをsqlliteなしで設定する方法はありますか?必要に応じてCeleryExecuterを操作するためのrabitMQをダウンロードしたことに注意してください。

答えて

13

CeleryExecutorには、デフォルトデータベースのSQLite以外のバックエンドが必要であるとAirFlowによると言われています。たとえば、MySQLまたはPostgreSQLを使用する必要があります。

airflow.cfgsql_alchemy_conn

sql_alchemy_conn = postgresql+psycopg2://airflow:[email protected]:5432/airflow 
+0

postgresqlの代わりにmysql接続を追加する方法 – abhijeetmote

+0

@abhijeetmote sqlalchemyのmsql接続文字列は、mysql:// username:password @ hostname:port/database_name'のようにすることができます。 – nehiljain

1

は、最初のMySQL this might helpをインストールするか、またはそれをグーグルのMySQL ために気流を設定するには、例えば

SqlAlchemy document参照)SQLAlchemyの接続文字列構造に従うように変更されなければなりません

  • gotoエアフローインストールディレクターusu
  • が見つけ味方/ホーム//気流

  • 編集airflow.cfg

    sql_alchemy_conn = sqliteの:////ホーム/ vipul /気流/気流。デシベル

、それはあなたが

sql_alchemy_conn = mysqlの下に次の行を追加し、デフォルトのsqlite

  • を持っている場合

    #sql_alchemy_conn = sqlite:////home/vipul/airflow/airflow.db 
    

    のように見えるので、その前に#を追加します。 //:@ localhost:3306/

と行わinitdbを

  • runコマンドに

    気流を、ファイルを保存します!

  • 1

    他の回答は、SQLite以外の別のデータベースを使用する必要があると述べています。さらに、rabbitmqをインストールし、適切に設定し、それぞれのairflow.cfgを正しいrabbitmq情報に変更する必要があります。これに関する優れたチュートリアルは、A Guide On How To Build An Airflow Server/Clusterを参照してください。

    関連する問題