云
内容
云¶
在云上部署 Dask 有多种方式。云服务提供商提供托管服务,如虚拟机、Kubernetes、Yarn 或自定义 API,Dask 可以轻松连接这些服务。
你可能想要考虑的一些常见部署选项包括:
像 Coiled 这样的商业 Dask 部署选项,用于在 AWS、GCP 和 Azure 上创建和管理 Dask 集群。
一个托管的 Kubernetes 服务和 Dask 的 Kubernetes 集成。
通过 Dask Cloud Provider 直接启动云资源,如虚拟机或容器,通过集群管理器。
一个托管的 Yarn 服务,如 Amazon EMR 或 Google Cloud DataProc 和 Dask-Yarn <https://yarn.dask.org>`_(关于流行的 Amazon EMR 服务的具体文档可以在这里找到 `here。)
云部署示例¶
Coiled 在 AWS、GCP 和 Azure 上部署托管的 Dask 集群。它对大多数用户是免费的,并且有几个功能解决了常见的 部署痛点 ,例如:
易于使用的API
自动软件同步
轻松访问任何区域的任何云硬件(如GPU)
强大的日志记录、成本控制和指标收集
>>> import coiled
>>> cluster = coiled.Cluster(
... n_workers=100, # Size of cluster
... region="us-west-2", # Same region as data
... vm_type="m6i.xlarge", # Hardware of your choosing
... )
>>> client = cluster.get_client()
Coiled 推荐用于在云上部署 Dask。虽然也有非商业的、开源的选项,如 Dask Cloud Provider、Dask-Gateway 和 Dask-Yarn 也是可用的(参见 云部署选项 了解更多选项。)
使用 Dask Cloud Provider 在 DigitalOcean 这样的平台上启动一个虚拟机集群,可以像启动本地集群一样方便。
>>> import dask.config
>>> dask.config.set({"cloudprovider.digitalocean.token": "yourAPItoken"})
>>> from dask_cloudprovider.digitalocean import DropletCluster
>>> cluster = DropletCluster(n_workers=1)
Creating scheduler instance
Created droplet dask-38b817c1-scheduler
Waiting for scheduler to run
Scheduler is running
Creating worker instance
Created droplet dask-38b817c1-worker-dc95260d
Dask Cloud Provider 中的许多集群管理器通过启动带有启动脚本的虚拟机来工作,该脚本会拉取 Dask Docker 镜像 并在该容器内运行 Dask 组件。与所有集群管理器一样,虚拟机资源、Docker 镜像等都是可配置的。
然后,您可以连接一个客户端,并像在本地机器上一样与集群一起工作。
>>> client = cluster.get_client()