bugfix> airflow > 投稿

ローカルでAirflowで正常に動作するGoogle Cloud Composer(ホストされているAirflow)でDAGを実行しています。それがするすべては「Hello World」を印刷することです。しかし、Cloud Composerで実行すると、次のエラーが表示されます。

*** Log file does not exist: /home/airflow/gcs/logs/matts_custom_dag/main_test/2020-04-20T23:46:53.652833+00:00/2.log
*** Fetching from: http://airflow-worker-d775d7cdd-tmzj9:8793/log/matts_custom_dag/main_test/2020-04-20T23:46:53.652833+00:00/2.log
*** Failed to fetch log file from worker. HTTPConnectionPool(host='airflow-worker-d775d7cdd-tmzj9', port=8793): Max retries exceeded with url: /log/matts_custom_dag/main_test/2020-04-20T23:46:53.652833+00:00/2.log (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f8825920160>: Failed to establish a new connection: [Errno -2] Name or service not known',))

また、DAGにデータベースにデータを追加させてみましたが、実際には50%成功しています。ただし、常にこのエラーメッセージを返します(他の印刷ステートメントやログは返しません)。なぜこれが起こっているのかについて、どんな助けもありがたいです。

回答 3 件
  • また、同じ問題に直面し、GCPへのサポートチケットを発行して、次の返信を受け取りました。

    このメッセージは、AirflowワーカーからWebServerへのログの同期の待ち時間に関連しており、少なくとも数分かかります(オブジェクトの数とサイズによって異なります)。 ログの合計サイズは大きくないようですが、同期を著しく遅くするのに十分であるため、ログをクリーンアップ/アーカイブすることをお勧めします

    この同期の設計によるレイテンシのため、基本的には代わりにStackdriverログに依存することをお勧めします

    これが問題の解決に役立つことを願っています。

  • Google Composerの1.10.3から1.10.6にアップグレードした後、同じ問題が発生します。 ログで、airflowが名前がで終わるバケットからログを取得しようとしていることがわかります -tenant 私のアカウントのバケットは -bucket

    設定では、変なものも見ることができます。

    ## airflow.cfg
    [core]
    remote_base_log_folder = gs://us-east1-buda-airflow-xxxxx-bucket/logs
    ## also in the running configuration says
    core    remote_base_log_folder  gs://us-east1-buda-airflow-xxxxx-tenant/logs   env var
    
    

    私はグーグルサポートに手紙を書いて、チームは修正に取り組んでいると述べました。

  • 私は何度も同じ状況に直面しました。 Airflow Web UIでログを見ると、ジョブが終了するとすぐに、同じエラーが発生していました。 1、2分後にUIで同じログを確認すると、ログが正しく表示されました。 上記の回答によると、それはウェブサーバーとワーカーノード間の同期の問題です。

あなたの答え