达克斯纱未能分配工人数量

问题描述 投票:0回答:1

我们有一个CDH集群(版本5.14.4),其中有6个工作服务器,总共有384个vcore(每个服务器64个核心)。我们正在使用dask版本2.8.1,dask-yarn版本0.8和skein 0.8运行一些ETL流程。目前,我们在分配最大工人数方面遇到问题。我们无法与18名工人一起工作! (我们可以在dask dashboad中看到实际的工人人数。集群的定义如下:

cluster = YarnCluster(environment = 'path/to/my/env.tar.gz',
                      n_workers = 24,
                      worker_vcores = 4, 
                      worker_memory= '64GB'
                      )  

即使将工人人数增加到50,也没有任何变化,尽管在更改worker_vcoresworker_memory时我们可以在仪表板上看到更改。

有什么建议吗?

yarn dask
1个回答
0
投票

有许多原因可能会导致一项工作被拒绝提供更多的容器。您的群集中是否有足够的内存来分配那么多64 GiB块?此外,64 GiB是否在整个群集节点上均匀平铺?您的YARN群集是否配置为允许此队列中的作业很大?是否有竞争性工作也在占用资源?

您可以使用ApplicationClient.get_containers方法查看所有容器的状态。

ApplicationClient.get_containers

您可以过滤状态>>> cluster.application_client.get_containers() 以仅查看待处理的容器

REQUESTED

这应该使您对请求但未分配的内容有所了解。

[如果您怀疑dask-yarn中的错误,请随时提交问题(包括来自应用程序主服务器的日志,以进行有问题的运行),但是我怀疑这与您请求的容器大小有关,并且队列的配置/当前使用方式。

© www.soinside.com 2019 - 2024. All rights reserved.