Spark Jupyter 动态分配

迷茫的

我正在使用 jupyterhub 在 kubernetes 上使用 spark 独立进行概念验证。

我想要动态分配,因为我的用户会经常离开键盘,他们的应用程序(笔记本)处于“运行”状态(但没有任务/作业),但驱动程序正在等待工作。

动态分配似乎没有启动。从文档中它正在等待:

spark.dynamicAllocation.executorIdleTimeout=60s

但空闲的定义是什么?对我来说,这些笔记本似乎是闲置的

蒂亚戈·巴尔迪姆

有几个原因,

如果您的用户正在设置执行程序的数量,则永远不会删除此数量的执行程序。您需要为最少执行者设置的应该是:spark.dynamicAllocation.minExecutors

在我的例子中,我们设置为 2,这样即使集群已满,数据科学家也可以为工作保留最少的执行者。

因此,首先检查选项 '--num-executors' 是否已删除并更改为spark.dynamicAllocation.minExecutors.

工作人员没有被删除的其他原因是关于缓存数据,如果您的数据科学家有缓存数据,对于这个问题,请检查spark.dynamicAllocation.cachedExecutorIdleTimeout我们没有更改的用例的选项出于这个原因,根据文件说:

永远不会删除包含缓存数据的默认执行程序

更改选项 spark.dynamicAllocation.cachedExecutorIdleTimeout

有关动态分配的更多详细信息,请参阅Spark 欧洲峰会 2016 中的此演示文稿

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章