问题标签 [dask-kubernetes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
149 浏览

python - 从本地 Dask 过渡到集群……

我有一个简单的令人尴尬的并行程序,我在 Dask 本地成功运行。耶!现在我想将它移动到一个集群中并增加问题的大小。在这种情况下,我使用 GCP。我已经尝试了两种方法,GCPCluster()并且HelmCluster()每种方法都提供了不同的失败路径。(我之前已经成功实例化了 GCE 计算。因此,我们可以假设我已经解决了所有安全/登录凭据。网络可能是另一回事。)这是主要例程:

使用GCPCluster()时,系统等待调度程序的响应。以下是日志消息:

系统scheduler启动了,我可以SSH进去了。看起来像一些网络问题。(顺便说一句,我从 PyCharm 使用类似于 调用的 Conda 图像运行它daskdev/dask:latest。)显然,我们甚至还没有开始在云上安装本地代码。

这是使用 Dask 和 GCP 的经验将解决的某种问题,我还没有经验。因此,请允许我通过文档尝试不同的路径并启动由 Helm 管理的 k8s 集群。我的代码的唯一更改是:

这运行得更好。它现在在我的本地机器上的子目录中查找代码时遇到问题,problem. 以下是日志:

在实践中,我正在寻求任何一个问题的帮助。我对解决方案有一点偏好GCPCluster()

0 投票
0 回答
39 浏览

docker - KubeCluster/HelmCluster 上的 Dask 能否将计算/数据分发到容器,这些容器转换并返回数据以供后续处理?

仍在尝试了解 Dask 和 Kubernetes 如何与其他容器一起工作,所以希望是否有人可以普遍地说以下是否可以工作?具体来说,我不太了解 Dask 分布式是否/如何将数据分发到集群中运行另一个容器的假脱机 pod,该容器解析该数据并将其返回给 dask 以供后续功能使用。在这里,“其他”容器是转换数据的编译程序。

类似于以下内容:

Dask 延迟处理将 N 个任务分配给 10 个工作节点,然后每个工作节点将raw_data内容(可能是一个字符串,或者可能是一个腌制对象)传递到该工作节点上包含一个容器的假脱机 pod,该容器将摄取和在上传到 S3 之前转换数据并返回解析后的数据(通过未指定的run_transformer_container函数,但是这会起作用)。

0 投票
0 回答
28 浏览

dask - 使用 dask-gateway 创建新的 k8s dask 集群时配置调度程序和工作程序模板

我不清楚在使用 [dask-gateway][1] 时如何替换 dask 调度程序/工作程序模板。

背景:我之前成功配置了 dask-distributed 和 dask-kubernetes 以在提交新任务时使用以下模板:

有人可以帮助我更好地了解如何配置使用 dask-gateway 创建的调度程序和工作人员以使用上述配置吗?[1]:https ://gateway.dask.org/install-kube.html#

0 投票
0 回答
52 浏览

dask - Dask仪表板未显示

我正在尝试访问 Dask 仪表板,但我收到安装散景> = 0.13.0 的消息。

我的设置:

使用正在部署 Dask 调度程序、工作节点和客户端的 Kubernetes。

使用 Poetry 打包我的客户端中使用的所有包,其中安装了散景。

使用来自 dask/dask helm 图表的自定义 Docker 映像,并定义了要安装在 Dask Scheduler 中的散景。

使用 Linux 系统和 Firefox 打开 Dashboard。它使用 pip3 安装了 bokeh>=0.13.0。

请建议我错过了什么?

0 投票
0 回答
54 浏览

kubernetes - Dask KubeCluster 不使用 kubectl 配置

我正在尝试在我拥有(有限)访问权限的 Kubernetes 集群上运行 dask hello world 程序。我在 Windows 10 中运行它。在 powershell 中使用 kubectl,我可以成功地从 yaml 文件创建一个 pod,该文件拉取并运行一个 docker 容器。这是因为我之前也在 ~/.kube/config 中设置了我的配置来指定命名空间和我的授权。

以编程方式做同样的事情(我希望):

但这会导致权限错误:

该错误表明它没有使用我的 kubectl 配置,因为用户名不是我用于 kubectl 的用户名,并且命名空间不应该是默认的。文档建议 KubeCluster 将使用 kubectl 配置文件,如果它位于默认位置(~/.kube/config),所以我不确定从这里去哪里。

0 投票
1 回答
141 浏览

kubernetes - dask-kubernetes KubeCluster 卡住了

我正在尝试在 kubernetes 上启动并运行 dask。下面实际上是 dask-kubernetes 的一个hello world,但我遇到了下面的错误。

主要.py:

输出:

请注意,输出末尾没有终端提示 - 它仍在运行但永远不会进行。在另一个终端kubectl get pods中也显示“悬崖测试”正在运行。

吊舱规格.yaml:

0 投票
1 回答
108 浏览

dask - 向 Kubernetes Dask 集群添加持久卷声明

我正在使用和运行云资源上的Dask集群和笔记本服务器JupyterKubernetesHelm

我正在为集群使用一个yaml文件,最初取自https://docs.dask.org/en/latest/setup/kubernetes-helm.htmlDaskJupyter

我正在使用另一个yaml文件在本地创建存储。

我想在第一个yaml文件中添加一个持久卷声明,我不知道添加volumesvolumeMounts. 如果你有想法,请分享,谢谢

0 投票
1 回答
59 浏览

python - Dask Distributed:如何从集群中删除上传的文件

我想知道是否有一个函数dask.distributed可以删除上传到集群的文件client.upload_file()

基本上与upload_file()功能相反。此致

0 投票
1 回答
136 浏览

dask - Dask Gateway,设置工作器资源

我正在尝试根据此处的文档为工作人员设置资源,但是在使用 Dask Gateway 的设置上。具体来说,我希望能够遵循这个问题的答案,但使用 Dask Gateway。

我无法在ClusterConfig 选项中找到对工作资源的引用,我尝试了以下方法(根据这个答案),这似乎不起作用:

使用config.yamlDask Gateway 的 helm 图(理想情况下,集群选项中的一个用户可以更改的字段!)创建集群时,或者在工作人员已经启动并运行之后,如何做到这一点?

0 投票
1 回答
58 浏览

kubernetes - 是否可以在使用 GPU 内核处理 kubernetes 上的 dask 任务时使用系统内存

我们在 Kubernetes 上运行 DASK 集群已经有一段时间了。到目前为止,我们一直在使用 CPU 进行处理,当然还有系统内存来存储大约 1.5 TB 的数据帧(每个 DASK 集群,分成 960 个工作人员)。现在我们想更新我们的算法以利用 GPU。但似乎 GPU 上的可用内存不足以满足我们的需求,这将是一个限制因素(在我们当前的设置中,每个虚拟核心使用超过 1GB 的内存)。

我想知道是否可以使用 GPU(考虑 NVDIA、具有 PCIe 连接的 AMD 卡和它们自己的 VRAMS,而不是使用系统内存的集成 GPU)进行处理,并使用系统内存(不是 GPU 内存/VRAM)来存储 DASK 数据帧。我的意思是,这在技术上可行吗?你有没有尝试过这样的事情?我可以安排一个 kubernetes pod 使其同时使用 GPU 内核和系统内存吗?

另一件事是,即使可以将系统 RAM 分配为 GPU 的 VRAM,对这个可分配的系统 RAM 的大小是否有限制?

  • 注意 1. 我知道将系统 RAM 与 GPU 一起使用(如果可能的话)会通过 PCIe 总线产生不必要的流量,并导致性能下降,但我仍然需要使用真实数据测试此配置。

  • 注 2:GPU 速度很快,因为它们有许多简单的内核可以同时/并行执行简单的任务。如果单个 GPU 内核不优于单个 CPU 内核,那么我可能是在追逐错误的梦想吗?我已经在已经可以访问数百个 CPU 内核的 kubernetes 上运行 dask worker。最后,拥有大量工作人员和我的部分数据并不意味着更好的性能(增加洗牌)。无限增加核心数量是没有用的。

  • 注 3. 我们主要是使用 C++ 中实现的 .so 库调用来操作 python 对象和进行数学计算。

Edit1:DASK-CUDA库似乎支持从 GPU 内存溢出到主机内存,但溢出不是我所追求的。

Edit2:令人非常沮丧的是,在 Kubernetes 上使用 GPU 所需的大多数组件仍处于试验阶段/测试阶段。

  • Dask-CUDA这个库是实验性的......
  • NVIDIA 设备插件NVIDIA 设备插件仍被认为是测试版,并且...
  • KubernetesKubernetes 包括对管理 AMD 和 NVIDIA GPU 的实验性支持......