如何从 Dask 调度程序获取仪表板地址

CMC*_*kai 2 dask dask-distributed

启动 dask 分布式本地集群时,您可以为 .dask 设置随机端口或地址dashboard_address

如果你后来得到了这个scheduler对象。有没有办法提取仪表板的地址。

我有这个:

cluster = dask.distributed.LocalCluster(scheduler_port=0,
                                        dashboard_address='localhost:0')
scheduler = dask.distributed.Client(cluster, set_as_default=False)
scheduler_info = scheduler.scheduler_info()
logger.info('Scheduler: %s', scheduler_info['address'])
logger.info('Status Port: %s', scheduler_info['services']['dashboard'])
Run Code Online (Sandbox Code Playgroud)

但这只能获取仪表板的端口,而不是仪表板的 IP。如果我将仪表板地址放在调度程序之外的单独 IP 上,似乎很难知道它绑定到哪个 IP。

qua*_*ben 5

如果您定义了 a,dashboard_address则可以通过以下方式获取该信息:

In [1]: from dask.distributed import LocalCluster, Client

In [2]: cluster = LocalCluster(dashboard_address='172.22.1.26:8782')

In [3]: cluster.scheduler.services['dashboard'].server.address
Out[3]: '172.22.1.26'

In [4]: cluster.scheduler.services['dashboard'].server.port
Out[4]: 8782
Run Code Online (Sandbox Code Playgroud)

注意:当dashboard_address未定义 a 时,仪表板将位于调度程序地址 - 通常127.0.0.1