我的dask
groupby
脚本失败(Memory Error
),所以我开始调试脚本。我在单机电脑上运行。
我已经更新logging
了config.yaml
文件中的
logging:
distributed: debug
bokeh: debug
tornado: info
我正在运行具有以下更新 的dask 分布式示例计算:
from distributed import LocalCluster
c=LocalCluster()
和一个更新的脚本,range
修改为range(10000)
.
在脚本运行(并成功完成)时,我会在其中看到以下日志, 这些日志会不断Jupyter Notebook
重复,直到脚本完成。
bokeh.server.tornado - 调试 - [pid 3088] 0 个客户端已连接
bokeh.server.tornado - 调试 - [pid 3088] /system 有 0 个会话,其中 0 个未使用 bokeh.server.tornado - 调试 - [pid 3088] /stealing 有0 个会话,0 个未使用的 bokeh.server.tornado - 调试 - [pid 3088] /workers 有 0 个会话,0 个未使用的 bokeh.server.tornado - 调试 - [pid 3088] /events 有 0 个会话,0 个未使用的 bokeh.server.tornado - 调试 - [pid 3088] /counters 有 0 个会话,其中 0 个未使用的 bokeh.server.tornado - 调试 - [pid 3088] /tasks 有 0 个会话,其中 0 个未使用的 bokeh.server.tornado - 调试 - [pid 3088] /status 有0 个会话,0 个未使用
为什么我看不到任何正在运行的工人?
运行时我得到以下日志c = LocalCluster()
bokeh.server.server - 信息 - 启动 Bokeh 服务器版本 0.12.4
bokeh.server.server - 警告 - 主机通配符“ ”可能会将应用程序暴露给 HTTP 主机标头攻击。主机通配符只能用于测试目的。bokeh.server.server - 警告 - 主机通配符“ ”可以将应用程序暴露给 HTTP 主机标头攻击。主机通配符只能用于测试目的。bokeh.server.tornado - 调试 - 允许的主机头:[' '] bokeh.server.tornado - 调试 - 这些主机来源可以连接到 websocket:[' '] bokeh.server.tornado - 调试 - 模式是:散景。 server.tornado - DEBUG - [('/system/?', bokeh.server.tornado - DEBUG - , bokeh.server.tornado - DEBUG - {'application_context': , bokeh.
'bokeh_websocket_path': '/system/ws'}), bokeh.server.tornado - DEBUG - ('/system/ws', bokeh.server.tornado - DEBUG - , bokeh.server.tornado - DEBUG -
{'application_context' : , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/system/ws'}), bokeh.server.tornado - 调试 - ('/system/autoload.js', bokeh.server.tornado - 调试 - , bokeh.server.tornado - DEBUG - {'application_context': , bokeh.server.tornado - DEBUG -
'bokeh_websocket_path': '/system/ws'}), bokeh.server.tornado - DEBUG - ('/stealing/?' , bokeh.server.tornado - 调试 - , bokeh.server.tornado - 调试 - {'application_context': , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/stealing/ws'}), bokeh.server.tornado - DEBUG - ('/stealing/ws', bokeh.server.tornado - DEBUG - , bokeh.server.tornado - DEBUG -
{'application_context' : , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/stealing/ws'}), bokeh.server.tornado - 调试 - ('/stealing/autoload.js', bokeh.server.tornado - 调试 - , bokeh.server.tornado - DEBUG - {'application_context': , bokeh.server.tornado - DEBUG -
'bokeh_websocket_path': '/stealing/ws'}), bokeh.server.tornado - DEBUG - ('/workers/?' , bokeh.server.tornado - 调试 - , bokeh.server.tornado - 调试 - {'application_context': , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/workers/ws'}), bokeh.server.tornado - DEBUG - ('/workers/ws', bokeh.server.tornado - DEBUG - , bokeh.server.tornado - DEBUG -
{'application_context' : , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/workers/ws'}), bokeh.server.tornado - 调试 - ('/workers/autoload.js', bokeh.server.tornado - 调试 - , bokeh.server.tornado - DEBUG - {'application_context': , bokeh.server.tornado - DEBUG -
'bokeh_websocket_path': '/workers/ws'}), bokeh.server.tornado - DEBUG - ('/events/?' , bokeh.server.tornado - 调试 - , bokeh.server.tornado - 调试 - {'application_context': , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/events/ws'}), bokeh.server.tornado - DEBUG - ('/events/ws', bokeh.server.tornado - DEBUG - , bokeh.server.tornado - DEBUG -
{'application_context' : , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/events/ws'}), bokeh.server.tornado - 调试 - ('/events/autoload.js', bokeh.server.tornado - 调试 - , bokeh.server.tornado - DEBUG - {'application_context': , bokeh.server.tornado - DEBUG -
'bokeh_websocket_path': '/events/ws'}), bokeh.server.tornado - DEBUG - ('/counters/?' , bokeh.server.tornado - 调试 - , bokeh.server.tornado - 调试 - {'application_context': , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/counters/ws'}), bokeh.server.tornado - DEBUG - ('/counters/ws', bokeh.server.tornado - DEBUG - , bokeh.server.tornado - DEBUG -
{'application_context' : , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/counters/ws'}), bokeh.server.tornado - 调试 - ('/counters/autoload.js', bokeh.server.tornado - 调试 - , bokeh.server.tornado - DEBUG - {'application_context': , bokeh.server.tornado - DEBUG -
'bokeh_websocket_path': '/counters/ws'}), bokeh.server.tornado - DEBUG - ('/tasks/?' , bokeh.server.tornado - 调试 - , bokeh.server.tornado - 调试 - {'application_context': , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/tasks/ws'}), bokeh.server.tornado - DEBUG - ('/tasks/ws', bokeh.server.tornado - DEBUG - , bokeh.server.tornado - DEBUG -
{'application_context' : , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/tasks/ws'}), bokeh.server.tornado - 调试 - ('/tasks/autoload.js', bokeh.server.tornado - 调试 - , bokeh.server.tornado - DEBUG - {'application_context': , bokeh.server.tornado - DEBUG -
'bokeh_websocket_path': '/tasks/ws'}), bokeh.server.tornado - DEBUG - ('/status/?' , bokeh.server.tornado - 调试 - , bokeh.server.tornado - 调试 - {'application_context': , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/status/ws'}), bokeh.server.tornado - DEBUG - ('/status/ws', bokeh.server.tornado - DEBUG - , bokeh.server.tornado - DEBUG -
{'application_context' : , bokeh.server.tornado - 调试 -
'bokeh_websocket_path': '/status/ws'}), bokeh.server.tornado - 调试 - ('/status/autoload.js', bokeh.server.tornado - 调试 - , bokeh.server.tornado - DEBUG - {'application_context': , bokeh.server.tornado - DEBUG -
'bokeh_websocket_path': '/status/ws'}), bokeh.server.tornado - DEBUG - ('/?', bokeh .server.tornado - DEBUG - , bokeh.server.tornado - DEBUG - {'applications': {'/counters': , bokeh.server.tornado - DEBUG -
'/events': , bokeh.server.tornado - 调试 -
'/status': , bokeh.server.tornado - 调试 -
'/stealing': , bokeh.server.tornado - 调试 -
'/system': , bokeh.server.tornado - 调试 -
'/tasks': , bokeh.server.tornado - 调试 -
'/workers': }, bokeh .server.tornado - DEBUG -
'prefix': '', bokeh.server.tornado - DEBUG - 'use_redirect': True}), bokeh.server.tornado - DEBUG - ('/static/(.*)', bokeh .server.tornado - 调试 - )]