Как получить адрес приборной панели из планировщика Dask - PullRequest
0 голосов
/ 16 января 2020

При запуске распределенного локального кластера 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-адресу он был привязан.

1 Ответ

1 голос
/ 16 января 2020

Если вы определили 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

...