我正在尝试使用 SLURMRunner
中的
dask-jobqueue
在远程集群上运行 Dask Scheduler 和 Workers。我想将 Dask dashboard 绑定到
0.0.0.0
(以便可以通过端口转发访问)并从我的本地计算机访问它。
但是,仪表板始终绑定到默认 IP 和端口 (
10.x.x.x:8787
),并且我的配置尝试似乎都不起作用。这是我迄今为止尝试过的:
在运行脚本之前,我设置:
export DASK_DISTRIBUTED__SCHEDULER__DASHBOARD__ADDRESS="0.0.0.0:8789"
python my_script.py
但是当我检查日志时,仪表板仍然绑定到默认的IP和端口(
8787
)。
在初始化
dask.config.set()
之前,我尝试使用 SLURMRunner
设置仪表板地址:
import dask
from dask_jobqueue import SLURMRunner
from dask.distributed import Client
dask.config.set({"distributed.scheduler.dashboard.address": "0.0.0.0:8789"})
runner = SLURMRunner()
client = Client(runner)
print(client.dashboard_link)
尽管进行了此设置,日志仍然显示仪表板绑定到
10.x.x.x:8787
。
我在
dask.yaml
创建了一个 ~/.config/dask/dask.yaml
文件,其中包含以下内容:
distributed:
scheduler:
dashboard:
address: "0.0.0.0:8789"
我确保通过运行来获取配置:
但是调度程序仍然绑定到
10.x.x.x:8787
。
如何强制由SLURMRunner
启动的Dask Scheduler将仪表板绑定到
0.0.0.0:8789
,以便我可以通过SSH端口转发访问它?
是否有其他方法可以在
SLURMRunner
中配置或覆盖此行为?
Python
3.10.10, dask
2024.9.1, dask-jobqueue
0.9.0dask-scheduler
启动。任何帮助或建议将不胜感激!
根据 https://jobqueue.dask.org/en/latest/clusters-interactive.html#viewing-the-dask-dashboard,您应该使用
scheduler_options={'dashboard_address': '0.0.0.0:12435'}
kwargs。我不熟悉 SLURMRunner,但我可以看到在 Python 代码中它应该接受它。