Ray 作业概述#
部署好 Ray 集群(在 VMs 或 Kubernetes 上)后,就可以运行 Ray 应用了!
Ray 作业 API#
在 Ray 集群上运行作业的推荐方式是使用 Ray 作业 API,它包含一个 CLI 工具、Python SDK 和 REST API。
Ray 作业 API 允许您将本地开发的应用提交到远程 Ray 集群执行。它简化了 Ray 应用的打包、部署和管理体验。
提交到 Ray 作业 API 包括
一个入口点命令,例如
python my_script.py
,以及一个 运行时环境,用于指定应用的的文件和包依赖项。
作业可以由位于 Ray 集群外部的远程客户端提交。我们将在以下用户指南中展示此工作流程。
提交作业后,它会运行一次直至完成或失败,而不管原始提交者的连接性如何。重试或使用不同参数进行不同的运行应由提交者处理。作业的生命周期与 Ray 集群绑定,因此如果集群出现故障,该集群上所有正在运行的作业都将被终止。
要开始使用 Ray 作业 API,请查看快速入门指南,该指南将引导您了解用于提交和与 Ray 作业交互的 CLI 工具。这适用于任何可以通过 HTTP 与 Ray 集群通信的客户端。如果需要,Ray 作业 API 还提供了用于编程方式提交作业和使用 REST 提交作业的 API。
交互式运行作业#
如果您想交互式运行应用并实时查看输出(例如,在开发或调试期间),您可以
(推荐)直接在集群节点上运行您的脚本(例如,使用
ray attach
SSH 到节点后),或者(仅限专家)使用 Ray 客户端 从您的本地机器运行脚本,同时保持与集群的连接。
请注意,以这些方式启动的作业不由 Ray 作业 API 管理,因此 Ray 作业 API 将无法看到它们或与之交互(除了 ray job list
和 JobSubmissionClient.list_jobs()
)。