首页 > 解决方案 > 如何从 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'])

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

标签: daskdask-distributed

解决方案


如果您定义了 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

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


推荐阅读