ray 有自带的web管理页面吗,先把这 3 个坑躲开再上手

编程狮(w3cschool.cn) 2026-10-17 07:05:51 浏览数 (34)
反馈

有。Ray 自带的 Web 管理页面叫 Ray Dashboard,随 Ray 一起安装,默认监听 8265 端口,用来看集群节点、任务状态、Actor 列表和日志。它不需要你额外部署服务,但有三个前提:装的是带默认依赖的安装包、启动时显式打开了 dashboard、监听地址允许你的机器访问。这三个前提缺一个,页面就打不开。

Ray 有自带管理页面吗先躲开这 3 个坑

很多人第一次用 Ray,跑完 ray.init() 就去浏览器敲 8265,结果一片空白。这不是页面不存在,而是启动方式和安装方式的问题。

本文按「装、启、看、排错」四步写清,命令与代码都可直接复制,并区分预期结果与实际执行。今天这篇文章,编程狮就把 Ray 管理页面的用法讲透。

先看结论

Ray 自带 Web 管理页面,名字是 Ray Dashboard,默认端口 8265。三个坑分别是:只装了精简版 ray 而没有装 dashboard 依赖,页面服务压根没起;dashboard 默认只监听本机回环地址,别的机器访问不到;上一次的 Ray 进程没停干净,端口被占导致新进程起不来。

判断顺序是先确认端口在监听,再确认监听地址,最后确认进程是新的。按这个顺序查,几分钟就能定位。

网络基础若不牢,可以先翻 Socket 教程 把端口与监听地址的关系过一遍,再回来排查会快很多。

一、它到底是个什么东西

先把定位说清楚,避免期待错位。

1.1 管理页面负责什么

Ray Dashboard 是只读为主的观测面板,负责展示:集群里有哪些节点、每个节点的 CPU 与内存、正在跑和已经结束的任务、Actor 的状态、以及日志入口。它是观测工具,不是控制台——你在页面上不能提交任务。

1.2 它不负责什么

它不做任务编排、不做资源配额管理、不做权限控制。想做这些要在代码或集群配置里完成。把 Dashboard 当成管控台来期待,是新手常见的错位。

你能看到的 你不能指望它做的
节点列表与资源占用 提交或取消任务
任务与 Actor 的运行状态 限制某个任务的资源上限
日志入口与错误堆栈 做多用户权限隔离

💡 小提示:本地单机的 ray.init() 也会起 Dashboard,不需要真的组一个集群。学习阶段用它看任务状态足够了。

二、三步跑起来:装依赖、启动、打开页面

按这个顺序做,每一步都能独立验证。

2.1 装对安装包

只有 pip install ray 装的是精简版,dashboard 相关依赖不在里面,页面起不来。需要装带默认依赖的版本。

pip install "ray[default]"

上面这条命令做的是安装 Ray 及默认的一组附加依赖,其中就包含 dashboard。预期结果(未执行,依据官方安装文档)是终端出现成功安装提示。

2.2 启动并显式打开 dashboard

ray start --head --include-dashboard=true --dashboard-host=0.0.0.0 --dashboard-port=8265

上面这条命令做的是启动一个 head 节点,显式开启 dashboard,把监听地址设为允许外部访问,端口固定为 8265。参数里 --dashboard-host=0.0.0.0 是让同网段其他机器能打开页面的关键,只写 --head 时默认监听回环地址。

2.3 用一段代码验证任务能被看到

import ray
import time

ray.init(address='auto')


@ray.remote
def square(x):
    time.sleep(1)
    return x * x


refs = [square.remote(i) for i in range(4)]
print(ray.get(refs))

上面这段代码做的是连接已启动的集群,提交四个远程任务并取回结果。运行后打开管理页面,应该能在任务列表里看到这四个任务的执行记录。

Ray 管理页面从安装到打开的三步流程

三、页面里能看什么:四个区域

打开页面后先看这四个区域,够覆盖日常排查。

3.1 节点区

看有多少节点在线、每个节点的 CPU 与内存。节点数不对,先查网络与启动命令,不要先查代码。

3.2 任务区

看任务的排队、运行、完成状态。任务一直排队通常是资源不足,不是代码问题。

3.3 Actor 区

看常驻 Actor 的存活情况。Actor 反复重启,多半是初始化代码抛了异常。

3.4 日志区

看错误堆栈。这一区是定位失败原因最快的地方,比起反复重跑要省时间得多。

四、三个坑:现象、原因、修复

这三个占了「页面打不开」的绝大多数。

4.1 页面打不开:依赖没装全

现象是端口没有进程监听。原因是只装了精简版。修复方式是重装带默认依赖的包,并重新启动集群。

ray stop
pip install "ray[default]"
ray start --head --include-dashboard=true --dashboard-port=8265

上面这几条命令做的是先停掉旧进程,再补齐依赖,最后重新启动。先 ray stop 这一步不能省,否则旧进程仍占着端口。

4.2 别的机器连不上:监听地址问题

现象是本机能开、别的机器打不开。原因是 dashboard 默认监听回环地址。修复方式是在启动命令里加 --dashboard-host=0.0.0.0。

⚠️ 注意:把监听地址放开到 0.0.0.0 意味着同网段都能访问,这个页面上能看到日志。不要直接暴露在公网,放在内网或加一层访问控制。

4.3 端口被占:旧进程残留

现象是启动时报端口已被占用。原因是上一次的 Ray 进程没停干净。修复方式是先停再启,并确认端口已释放。

ray stop --force

上面这条命令做的是强制停掉本机所有 Ray 相关进程。预期结果(未执行,依据命令行文档)是终端提示已停止;执行后再重新启动即可。

Ray 管理页面打不开的三类原因排查顺序

总结

Ray 自带 Web 管理页面,叫 Ray Dashboard,默认端口 8265,负责观测节点、任务、Actor 与日志。想让它正常打开,记住三件事:装带默认依赖的包、启动时显式开启并放开监听地址、重启前先停干净旧进程。

要点带走:

  • 只装 ray 精简版会缺 dashboard 依赖,要装带默认依赖的版本;
  • 默认监听回环地址,跨机器访问要显式放开;
  • 端口被占先强制停旧进程,再重新启动。

下一步建议先在本机跑通一遍完整流程,再考虑多节点场景。网络这块可以顺着 TCP/IP 教程 补一补端口与地址的概念。

常见问题

Q:Ray 的 Web 管理页面默认端口是多少?

A:默认是 8265。可以在启动时用参数改成别的端口,改了之后要记得同步更新访问地址。

Q:为什么本机打不开管理页面?

A:先确认装的是带默认依赖的版本,再确认启动时带了开启参数。端口没有进程监听时,页面一定是空白。

Q:别的机器为什么访问不到?

A:dashboard 默认只监听回环地址,需要显式指定监听地址才允许外部访问,同时确认防火墙没有拦该端口。

Q:管理页面上能直接提交任务吗?

A:不能。它是观测面板,任务是代码里提交的。把观测面板当控制台用,是新手常见的期待错位。

延伸学习

想把 Ray 这块用起来,可以按这个顺序来:

  1. 读一篇相关笔记 分布式任务调度平台,看调度层面的共性设计;
  2. 想动手练,Python 配套课程 把并发与模块基础补齐;
  3. 基础不熟时,翻 Python3 教程 最快。

0 人点赞