apache-spark - 使用 externalShuffle 服务在 Spark 中清理文件
问题描述
我们正在使用具有动态分配和外部随机播放服务的 Spark 3.0.1(独立模式)。
切换到专用永久性磁盘后,我们开始出现“磁盘空间不足错误”,因此我们查看 /tmp 文件夹并注意到许多旧的应用程序 shuffle 文件仍然存在,这有点可以理解,因为只要 shuffle 文件应该保持可用工人还活着。
但是这些文件在什么时候被删除?我假设在作业完成时不再需要洗牌文件并且可以(并且应该)删除,但是查看 spark 代码库(ExternalShuffleBlockResolver)它显示目录清理器仅在以下情况下触发:
- applicationRemoved - 删除整个执行程序目录(包括随机文件)
- executorRemoved - 只删除非随机文件
我错过了什么吗?什么服务应该清理已完成/失败作业的 shuffle 文件?
请注意,我们使用多租户架构,这意味着我们的 spark 应用程序充当多个请求的服务器。
解决方案
推荐阅读
- python - flask-SQLalchemy/flask_restful 通过 PUT 或 POST 从许多表/模型中更新许多行的信息?
- alexa-skills-kit - 我们可以在使用 Alexa Skills Kit 构建语音应用程序时使用 Alexa 技能蓝图吗?
- android-studio - 如何在其他类前面获取变量的实际值(Kotlin / Android Studio)
- reactjs - 在 react redux 应用程序中定义私有路由?
- reactjs - React 测试库覆盖延迟加载
- flutter - Flutter 如何在入职屏幕上制作上一页方法以及如何仅制作 1 次入职界面
- java - 应用程序如何知道运行它的 Mac 系统是否进入睡眠模式
- windows - 查找当前 Windows BCD 存储文件路径
- python - 我们如何在 python 中使用 ILOG CP 优化器将决策变量用作另一个决策变量的索引?
- heroku - 在 Heroku 中部署应用程序(php + Mysql)