我有一个与Mesos一起作为资源管理器运行的spark集群。当某些spark作业失败时,mesos代理节点中work_dir内的临时数据文件不会被删除。是否有任何配置可以自动清除mesos代理的work_dir
中的数据答案 0 :(得分:1)
沙盒生命周期
沙箱文件计划在以下情况下进行垃圾回收:
- 执行人被移除或终止。
- 删除框架。
- 在代理恢复期间,执行程序恢复失败。
注意:在代理恢复期间,所有执行程序的运行,除了 最新的运行,也计划进行垃圾收集。
根据
--gc_delay
代理标志安排垃圾收集。通过 默认情况下,这是自上次修改沙箱以来的一周。 延迟之后,文件将被删除。此外,根据
--disk_watch_interval
代理标志,文件 计划进行垃圾收集根据可用磁盘进行修剪--gc_disk_headroom
代理标志。 请参阅此处的公式。
答案 1 :(得分:0)
work_dir
中的主要空间实际上是执行程序/运行/最新的文件:stdout和stderr。
如果执行者是永久性的,那么gc_delay
将不再起作用。由于执行者不会被终止或罢免。因此,我们必须使用另一种方式-container_logger。 Docs here。
配置两个标志:modules
和container_logger
。因此,stdout
和stderr
会在默认情况下达到最大文件大小10M时自动删除。