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

问题描述 投票:0回答:1

启动启动分布式分布式本地群集时,可以为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。

dask dask-distributed
1个回答
0
投票

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

注意:如果未定义dashboard_address,则仪表板将位于调度程序地址-通常为127.0.0.1

© www.soinside.com 2019 - 2024. All rights reserved.