在Azure上启动Ray集群#
本指南详细介绍了在Azure上启动Ray集群所需的步骤。
有两种方式可以启动一个 Azure Ray 集群。
通过 Ray 集群启动器启动。
使用 Azure 门户部署集群。
备注
Azure 集成是由社区维护的。如果您遇到任何问题,请在 Github 上联系集成维护者:gramhagen, eisber, ijrsvt。
使用 Ray 集群启动器#
安装 Ray 集群启动器#
Ray 集群启动器是 ray
CLI 的一部分。使用 CLI 通过 ray up
、ray down
和 ray attach
等命令来启动、停止和附加到正在运行的 Ray 集群。你可以使用 pip 安装支持集群启动器的 ray CLI。更多详细说明请参考 Ray 安装文档。
# install ray
pip install -U ray[default]
安装和配置 Azure CLI#
接下来,安装 Azure CLI (pip install -U azure-cli azure-identity
) 并使用 az login
登录。
# Install azure cli.
pip install azure-cli azure-identity
# Login to azure. This will redirect you to your web browser.
az login
使用 Ray 集群启动器启动 Ray#
提供的 集群配置文件 将创建一个包含一个按需 Standard DS2v3 头节点的小型集群,该头节点配置为自动扩展到最多两个 Standard DS2v3 spot-instance 工作节点。
请注意,您需要在这些模板中填写您的 Azure resource_group 和 location。您还需要设置要使用的订阅。您可以通过命令行使用 az account set -s <subscription_id>
或在集群配置文件中填写 subscription_id 来完成此操作。
通过从本地机器运行以下命令来测试其是否工作:
# Download the example-full.yaml
wget https://raw.githubusercontent.com/ray-project/ray/master/python/ray/autoscaler/azure/example-full.yaml
# Update the example-full.yaml to update resource_group, location, and subscription_id.
# vi example-full.yaml
# Create or update the cluster. When the command finishes, it will print
# out the command that can be used to SSH into the cluster head node.
ray up example-full.yaml
# Get a remote screen on the head node.
ray attach example-full.yaml
# Try running a Ray program.
# Tear down the cluster.
ray down example-full.yaml
恭喜,您已经在 Azure 上启动了一个 Ray 集群!
使用 Azure 门户#
或者,您可以直接使用 Azure 门户部署集群。请注意,自动扩展是通过 Azure VM 规模集完成的,而不是通过 Ray 自动扩展器。这将部署 Azure Data Science VMs (DSVM) 用于头节点和由 Azure 虚拟机规模集 管理的自动扩展集群。头节点方便地提供了 SSH 和 JupyterLab。
一旦模板成功部署,部署输出页面将提供用于连接的ssh命令以及头节点上JupyterHub的链接(用户名/密码如模板输入中指定)。在Jupyter笔记本中使用以下代码(使用模板输入中指定的conda环境,默认情况下为py38_tensorflow)连接到Ray集群。
import ray; ray.init()
在底层,azure-init.sh 脚本被执行并执行以下操作:
激活DSVM上可用的conda环境之一
安装 Ray 以及用户指定的任何其他依赖项
设置一个 systemd 任务 (
/lib/systemd/system/ray.service
) 以在头节点或工作节点模式下启动 Ray