2017-12-02 4 views
0

KubernetesでAirflowをテストしようとしています。スケジューラー、ワーカー、キュー、およびWebサーバーはすべて異なる展開であり、私は自分のタスクを実行するためにセルリーエグゼキュータを使用しています。スケジューラがジョブをキューに入れない

スケジューラがジョブをキューに入れることができないという事実を除いて、すべてがうまくいきます。気象は、Web UIやCLIから手作業で実行すると、うまくタスクを実行できますが、スケジューラをテストして機能させるようにしています。それは、単一のサーバー上にあるよう

私の構成はほぼ同じである:

sql_alchemy_conn = postgresql+psycopg2://username:[email protected]/db 
broker_url = amqp://user:[email protected]$RABBITMQ_SERVICE_HOST:5672/vhost 
celery_result_backend = amqp://user:[email protected]$RABBITMQ_SERVICE_HOST:5672/vhost 

私はこれらの構成で、私はそれを実行させることができるはずと信じていますが、何らかの理由で、唯一の労働者が可能ですスケジューラがハートビートを正常に記録できるにもかかわらず、DAGとその状態を見ることはできますが、スケジューラは表示されません。私がデバッグしたり、見るべきことはほかにありますか?

+0

気流にはいくつかの既知のバグがあり、エグゼクティブには何か不具合があります。 – Liqiang

+0

@Liqiang何をお勧めしますか?私はセルラーが分散タスクの実行を行う唯一の方法だと信じています。 –

+0

はい、セロリはPython言語で唯一の強力で安定した分散タスクです。私の意見では、気流を使わず、 – Liqiang

答えて

0

まず、気流のデータベースとしてpostgresを使用していますか?ポストグルにポッドやサービスを配備していますか?それが事実である場合、あなたはあなたの設定ファイルにあなたが持っていることを確認します:

sql_alchemy_conn = postgresql+psycopg2://username:[email protected]/db 

をあなたはこのgithubを使用することができます。私は最初のテストのために3週間前にそれを使用し、それはかなりうまくいった。 entrypointは、rabbitMqとPostgresがうまく構成されていることを確認するのに便利です。

+0

私はヘルム・チャートを書こうとしているので、そのイメージ(実際にはフォーク[バージョン](https://github.com/Stibbons/kube-airflow/tree/helm_chart))を使っています。すべてが正常に動作します。つまり、Postgresデータベースにハートビートが表示されますが、スケジュールされているものは何もありません。 –

+0

ダグは一時停止されていないことを確認しましたか? UI上のステータスは何ですか?エアフローポッドでダグを手動で実行しようとしましたか(kubectl exec ...)? (申し訳ありませんが多分愚かな質問)。 – pcc

+0

DAGが一時停止されていないことを確認するにはどうすればよいですか?私はそれらをオンにし、スケジューラはハートビートを送信しています。 UI上のステータスは、UIで個別にタスクを実行しなければならない時間を反映しているため、実行中のものもあれば、実行中のものもあります。しかし、私は実際に手動でそれらを実行していないので、提案に感謝! –

関連する問題