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

很多人第一次用 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))
上面这段代码做的是连接已启动的集群,提交四个远程任务并取回结果。运行后打开管理页面,应该能在任务列表里看到这四个任务的执行记录。

三、页面里能看什么:四个区域
打开页面后先看这四个区域,够覆盖日常排查。
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 自带 Web 管理页面,叫 Ray Dashboard,默认端口 8265,负责观测节点、任务、Actor 与日志。想让它正常打开,记住三件事:装带默认依赖的包、启动时显式开启并放开监听地址、重启前先停干净旧进程。
要点带走:
- 只装
ray精简版会缺 dashboard 依赖,要装带默认依赖的版本; - 默认监听回环地址,跨机器访问要显式放开;
- 端口被占先强制停旧进程,再重新启动。
下一步建议先在本机跑通一遍完整流程,再考虑多节点场景。网络这块可以顺着 TCP/IP 教程 补一补端口与地址的概念。
常见问题
Q:Ray 的 Web 管理页面默认端口是多少?
A:默认是 8265。可以在启动时用参数改成别的端口,改了之后要记得同步更新访问地址。
Q:为什么本机打不开管理页面?
A:先确认装的是带默认依赖的版本,再确认启动时带了开启参数。端口没有进程监听时,页面一定是空白。
Q:别的机器为什么访问不到?
A:dashboard 默认只监听回环地址,需要显式指定监听地址才允许外部访问,同时确认防火墙没有拦该端口。
Q:管理页面上能直接提交任务吗?
A:不能。它是观测面板,任务是代码里提交的。把观测面板当控制台用,是新手常见的期待错位。
延伸学习
想把 Ray 这块用起来,可以按这个顺序来:
- 读一篇相关笔记 分布式任务调度平台,看调度层面的共性设计;
- 想动手练,Python 配套课程 把并发与模块基础补齐;
- 基础不熟时,翻 Python3 教程 最快。

TRAE-AI编程



