Python Dask任务失败,因为它们尝试连接时超时
我正在尝试对xarray数据执行一些计算。数据具有纬度、经度和时间坐标以及多个数据变量 我的计算是在一个时间步长上进行的。为了实现这一点,我正在使用dask分布式客户端 我在一台机器上运行客户端,如下所示:Python Dask任务失败,因为它们尝试连接时超时,python,timeout,dask,python-xarray,dask-distributed,Python,Timeout,Dask,Python Xarray,Dask Distributed,我正在尝试对xarray数据执行一些计算。数据具有纬度、经度和时间坐标以及多个数据变量 我的计算是在一个时间步长上进行的。为了实现这一点,我正在使用dask分布式客户端 我在一台机器上运行客户端,如下所示: client = Client(processes=False) dask.config.set({'distributed.comm.timeouts.connect': '20s'}) 我增加了配置超时时间,因为我一直有超时问题。(根据这一评论:) 我的一些任务(在单个时间步上调用相同
client = Client(processes=False)
dask.config.set({'distributed.comm.timeouts.connect': '20s'})
我增加了配置超时时间,因为我一直有超时问题。(根据这一评论:)
我的一些任务(在单个时间步上调用相同的函数)执行得很好,而其他任务则收到如下警告:
distributed.worker - WARNING - Compute Failed
Function: slom_per_timeslice
args: ((numpy.datetime64('1987-02-06T10:00:00.000000000'), <xarray.Dataset>
Dimensions: (lat: 10, lon: 13)
Coordinates:
* lat (lat) float64 36.88 40.88 44.88 48.88 ... 64.88 68.88 72.88
* lon (lon) float64 -12.88 -8.875 -4.875 -0.875 ... 27.12 31.12 35.12
time datetime64[ns] 1987-02-06T10:00:00
Data variables:
t2m (lat, lon) float32 dask.array<chunksize=(10, 13), meta=np.ndarray>
solarCF (lat, lon) float32 dask.array<chunksize=(10, 13), meta=np.ndarray>
windCF_off (lat, lon) float32 dask.array<chunksize=(10, 13), meta=np.ndarray>
windCF_on (lat, lon) float32 dask.array<chunksize=(10, 13), meta=np.ndarray>))
kwargs: {}
Exception: OSError("Timed out trying to connect to 'inproc://192.168.xxx.xx/5050/1' after 10 s: Timed out trying to connect to 'inproc://192.168.xxx.xx/5050/1' after 10 s: connect() didn't finish in time")
最终,它会导致脚本崩溃,并出现以下错误:
OSError: Timed out trying to connect to 'inproc://192.168.xxx.xx/5050/1' after 10 s: connect() didn't finish in time
请注意,这些是在10秒后超时,而不是我添加到配置中的20秒。
但是,超时时间似乎已更改,因为这是我在单击dask仪表板中的工作日志时遇到的错误(我得到一个500:内部服务器错误):
我已经在研究小组的pc(出现上述错误的地方)和我的个人桌面上运行了代码。同样的代码在我的个人桌面上运行良好。
代码运行在同一个环境中,唯一的区别是我运行windows和Ubuntu研究小组。
我运行了client.get\u versions(check=True)
命令,它输出一个使用包的目录:
{'scheduler': {'host': {'python': '3.8.5.final.0',
'python-bits': 64,
'OS': 'Linux',
'OS-release': '4.15.0-121-generic',
'machine': 'x86_64',
'processor': 'x86_64',
'byteorder': 'little',
'LC_ALL': 'None',
'LANG': 'en_GB.UTF-8'},
'packages': {'python': '3.8.5.final.0',
'dask': '2.26.0',
'distributed': '2.26.0',
'msgpack': '1.0.0',
'cloudpickle': '1.6.0',
'tornado': '6.0.4',
'toolz': '0.10.0',
'numpy': '1.19.1',
'lz4': None,
'blosc': None}},
'workers': {'inproc://192.168.178.44/5050/3': {'host': {'python': '3.8.5.final.0',
'python-bits': 64,
'OS': 'Linux',
'OS-release': '4.15.0-121-generic',
'machine': 'x86_64',
'processor': 'x86_64',
'byteorder': 'little',
'LC_ALL': 'None',
'LANG': 'en_GB.UTF-8'},
'packages': {'python': '3.8.5.final.0',
'dask': '2.26.0',
'distributed': '2.26.0',
'msgpack': '1.0.0',
'cloudpickle': '1.6.0',
'tornado': '6.0.4',
'toolz': '0.10.0',
'numpy': '1.19.1',
'lz4': None,
'blosc': None}}},
'client': {'host': {'python': '3.8.5.final.0',
'python-bits': 64,
'OS': 'Linux',
'OS-release': '4.15.0-121-generic',
'machine': 'x86_64',
'processor': 'x86_64',
'byteorder': 'little',
'LC_ALL': 'None',
'LANG': 'en_GB.UTF-8'},
'packages': {'python': '3.8.5.final.0',
'dask': '2.26.0',
'distributed': '2.26.0',
'msgpack': '1.0.0',
'cloudpickle': '1.6.0',
'tornado': '6.0.4',
'toolz': '0.10.0',
'numpy': '1.19.1',
'lz4': None,
'blosc': None}}}
(除了我的台式机和研究小组计算机的操作系统之外,这些都是匹配的)
是什么导致我的一些任务失败
distributed.utils - ERROR - Timed out trying to connect to 'inproc://192.168.xxx.xx/5050/3' after 20 s: Timed out trying to connect to 'inproc://192.168.xxx.xx/5050/3' after 20 s: connect() didn't finish in time
{'scheduler': {'host': {'python': '3.8.5.final.0',
'python-bits': 64,
'OS': 'Linux',
'OS-release': '4.15.0-121-generic',
'machine': 'x86_64',
'processor': 'x86_64',
'byteorder': 'little',
'LC_ALL': 'None',
'LANG': 'en_GB.UTF-8'},
'packages': {'python': '3.8.5.final.0',
'dask': '2.26.0',
'distributed': '2.26.0',
'msgpack': '1.0.0',
'cloudpickle': '1.6.0',
'tornado': '6.0.4',
'toolz': '0.10.0',
'numpy': '1.19.1',
'lz4': None,
'blosc': None}},
'workers': {'inproc://192.168.178.44/5050/3': {'host': {'python': '3.8.5.final.0',
'python-bits': 64,
'OS': 'Linux',
'OS-release': '4.15.0-121-generic',
'machine': 'x86_64',
'processor': 'x86_64',
'byteorder': 'little',
'LC_ALL': 'None',
'LANG': 'en_GB.UTF-8'},
'packages': {'python': '3.8.5.final.0',
'dask': '2.26.0',
'distributed': '2.26.0',
'msgpack': '1.0.0',
'cloudpickle': '1.6.0',
'tornado': '6.0.4',
'toolz': '0.10.0',
'numpy': '1.19.1',
'lz4': None,
'blosc': None}}},
'client': {'host': {'python': '3.8.5.final.0',
'python-bits': 64,
'OS': 'Linux',
'OS-release': '4.15.0-121-generic',
'machine': 'x86_64',
'processor': 'x86_64',
'byteorder': 'little',
'LC_ALL': 'None',
'LANG': 'en_GB.UTF-8'},
'packages': {'python': '3.8.5.final.0',
'dask': '2.26.0',
'distributed': '2.26.0',
'msgpack': '1.0.0',
'cloudpickle': '1.6.0',
'tornado': '6.0.4',
'toolz': '0.10.0',
'numpy': '1.19.1',
'lz4': None,
'blosc': None}}}