我们尝试在AWS上使用ECS启动dask集群。我们目前的设置:尝试使用负载均衡器在AWS ECS上尝试dask.distributed集群时出现连接错误
- 两种服务 - dask-scheduler服务和dask-worker服务,每个服务都有一个任务定义。每个服务都有一个任务(将来可以扩展出沙盒工作任务)。
- dask-scheduler将端口8786,8787,& 9786从容器映射到主机。 dask-worker任务不映射端口。
- 传统的负载均衡器位于dask-scheduler的前面,并在TCP上的这三个端口上侦听。尽管我们只有一个dask调度程序任务,但负载平衡器在调度程序重新启动时提供了一个静态地址。
- dask-worker使用负载均衡器的参数启动。 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
,但没有效果。
首先,很酷的设置。我很感兴趣,看看这是怎么回事。除了确保您需要打开的端口打开并且每个人都可以在网络中看到对方之外,我个人在此没有任何建议。 – MRocklin
谢谢@MRocklin。你知道工作人员是否需要映射任何端口?这和http端口有什么关系?我找不到任何有关这些文件的文档。 – Maximilian
在离开计划程序运行并闲置一段时间后,我每五秒钟就会得到三个文件:'distributed.core - INFO - 收集未使用的数据流。打开:512,活动:0' – Maximilian