ECS on AWS を使用して、dask クラスターを開始しようとしています。現在のセットアップ:
- 2 つのサービス - dask-scheduler サービスと dask-worker サービスで、それぞれにタスク定義があります。各サービスには 1 つのタスクがあります (将来、dask-worker タスクはスケールアウトできます)。
- dask-scheduler はポート 8786、8787、および 9786 をコンテナーからホストにマップします。dask-worker タスクはポートをマップしません。
- 従来のロード バランサーは、dask-scheduler の前に配置され、TCP でこれら 3 つのポートをリッスンします。dask-scheduler タスクは 1 つしかありませんが、ロード バランサーはスケジューラーの再起動時に静的アドレスを提供します。
- dask-worker はロードバランサーの arg で起動されます。dask-scheduler は引数なしで開始されます。
残念ながら、私はあまり運がありません。次のログ メッセージが表示されます。
06:10:24
distributed.core - INFO - Connection from 172.31.35.94:49003 to Scheduler
06:10:24
distributed.core - INFO - Lost connection: ('172.31.35.94', 49003)
06:10:24
distributed.core - INFO - Close connection from 172.31.35.94:49003 to Scheduler
06:10:54
distributed.core - INFO - Connection from 172.31.35.94:49009 to Scheduler
06:10:54
distributed.core - INFO - Lost connection: ('172.31.35.94', 49009)
06:10:54
distributed.core - INFO - Close connection from 172.31.35.94:49009 to Scheduler
06:11:07
distributed.core - INFO - Connection from 172.31.35.94:49018 to Scheduler
06:11:07
distributed.core - INFO - Connection from 172.31.35.94:49019 to Scheduler
06:11:07
distributed.scheduler - INFO - Receive client connection: 941a5c1a-8ac2-11e6-a74c-0242ac110001
06:11:24
distributed.core - INFO - Connection from 172.31.35.94:49023 to Scheduler
06:11:24
distributed.core - INFO - Lost connection: ('172.31.35.94', 49023)
06:11:24
distributed.core - INFO - Close connection from 172.31.35.94:49023 to Scheduler
06:11:54
distributed.core - INFO - Connection from 172.31.35.94:49033 to Scheduler
06:11:54
distributed.core - INFO - Lost connection: ('172.31.35.94', 49033)
06:11:54
distributed.core - INFO - Close connection from 172.31.35.94:49033 to Scheduler
ロードバランサーの問題だと思います。静的 IP で同じセットアップを実行すると、正常に動作します。
これが問題になる理由はありますか?モードで実行しようとし--no-nanny
ましたが、ロードバランサーのアドレスを--host
スケジューラーに渡そうとしましたが、役に立ちませんでした。