我在 GCP 上部署了一个 kubernetes 集群,结合了 prefect 和 dask。这些作业在正常情况下运行良好,但无法扩展 2 倍的数据。到目前为止,我已经将其范围缩小到调度程序由于高内存使用而被关闭。 Dask调度程序内存 一旦内存使用量达到2GB,作业就会失败,并出现“未检测到心跳”错误。
有一个单独的构建 python 文件可用,我们在其中设置工作内存和 cpu。有一个 dask-gateway 包,我们可以在其中获取网关选项并设置工作内存。
options.worker_memory = 32
options.worker_cores = 10
cluster = gateway.new_cluster(options)
cluster.adapt(minimum=4, maximum=20)
我无法弄清楚在哪里以及如何增加 dask-scheduler 的内存分配。
Specs:
Cluster Version: 1.19.14-gke.1900
Machine type - n1-highmem-64
Autoscaling set to 6 - 1000 nodes per zone
all nodes are allocated 63.77 CPU and 423.26 GB