清除来自mesos代理的work_dir的数据

时间:2018-06-12 14:01:21

标签: apache-spark mesos

我有一个与Mesos一起作为资源管理器运行的spark集群。当某些spark作业失败时,mesos代理节点中work_dir内的临时数据文件不会被删除。是否有任何配置可以自动清除mesos代理的work_dir

中的数据

2 个答案:

答案 0 :(得分:1)

  

沙盒生命周期

     

沙箱文件计划在以下情况下进行垃圾回收:

     
      
  • 执行人被移除或终止。
  •   
  • 删除框架。
  •   
  • 在代理恢复期间,执行程序恢复失败。
  •   
     

注意:在代理恢复期间,所有执行程序的运行,除了   最新的运行,也计划进行垃圾收集。

     

根据--gc_delay代理标志安排垃圾收集。通过   默认情况下,这是自上次修改沙箱以来的一周。   延迟之后,文件将被删除。

     

此外,根据--disk_watch_interval代理标志,文件   计划进行垃圾收集根据可用磁盘进行修剪   --gc_disk_headroom代理标志。   请参阅此处的公式。

From documentation

答案 1 :(得分:0)

work_dir中的主要空间实际上是执行程序/运行/最新的文件:stdout和stderr。

如果执行者是永久性的,那么gc_delay将不再起作用。由于执行者不会被终止或罢免。因此,我们必须使用另一种方式-container_logger。 Docs here

配置两个标志:modulescontainer_logger。因此,stdoutstderr会在默认情况下达到最大文件大小10M时自动删除。