为什么在缩减时会丢失数据?
在缩减集群时,控制器会尝试与 Dask 调度器协调并决定移除哪些工作节点。如果控制器无法与调度器通信,它将回退到后进先出的缩减方式,移除运行时间最短的工作节点,即使该工作节点正在积极处理数据。这可能导致数据丢失和图的重新计算。
如果调度器上的 Dask 版本与控制器上的版本差异很大,通常会发生这种情况。
为了缓解此问题,Dask 提供了一个可选的 HTTP API,它比 RPC 更解耦,并允许在不同版本之间提供更好的支持。
参见 https://github.com/dask/dask-kubernetes/issues/807