本地环境下查看Dask调度器及运行任务(未知端口)
查看本地Dask调度器及运行任务的实用方法
嘿,这个问题我平时调试Dask任务时经常碰到,给你分享几个靠谱的解决办法:
1. 命令行定位调度器+查看任务状态
如果不知道调度器端口,先在终端里找本地的Dask相关进程:
- Linux/macOS 用
lsof:
这个命令会列出所有和Dask相关的网络连接,你能从中找到调度器监听的端口(默认通常是8786,Dashboard端口一般是8787,但也可能被自定义修改)。lsof -i -P | grep dask - Windows 用
netstat:
同样能定位到调度器对应的端口号。netstat -ano | findstr "dask"
找到端口后,直接用Dask自带命令查看任务状态:
dask status tcp://localhost:<你的调度器端口>
执行后会输出调度器的基本信息,包括正在运行、等待中的任务数,还有工作节点的状态明细。
2. 用Dask Dashboard可视化监控
Dask调度器默认会启动一个Web Dashboard,这是最直观的监控方式:
- 一般来说,Dashboard的端口是调度器端口+1(比如调度器用8786,Dashboard就是8787),直接在浏览器访问
http://localhost:<Dashboard端口>即可。 - 要是不确定Dashboard端口,用上面的命令行工具也能找到对应的进程端口。
在Dashboard里你能看到任务执行进度、节点负载、任务详情,甚至能查看单个任务的运行日志,调试起来非常方便。
3. 在Python代码内直接查询
如果你的任务脚本还在运行,或者能在同一个Python环境连接到调度器,可以直接用代码获取信息:
from dask.distributed import Client # 自动连接本地运行的调度器(本地环境下Client会自动发现调度器) client = Client() # 打印调度器地址 print("当前调度器地址:", client.scheduler.address) # 获取当前任务流信息 task_stream = client.get_task_stream() print("正在运行/等待的任务流:", task_stream) # 查看完整集群状态 cluster_details = client.cluster.scheduler_info() print("集群及任务详情:", cluster_details)
这种方法适合在脚本里实时监控任务状态,不用切换到命令行操作。
内容的提问来源于stack exchange,提问作者skibee
相关产品推荐
相关产品推荐

