在重试之前让YARN清理appcache

时间:2015-08-18 21:18:18

标签: apache-spark yarn

情况如下:

  1. 启动YARN应用程序。它已经安排好了。
  2. 它在appcache目录中写了很多。
  3. 申请失败。
  4. YARN重启它。它正在等待,因为没有足够的磁盘空间来安排它。磁盘由失败的运行中的appcache填充。
  5. 如果我手动干预并终止应用程序,则会清理磁盘空间。现在我可以手动重启应用程序了,没关系。

    我希望我能告诉自动重试清理磁盘。或者,我认为它可以将使用过的磁盘计为新分配的一部分,因为它无论如何都属于应用程序。

    我很乐意接受您提供的任何解决方案。我不太了解YARN。它是在spark-submit模式下以yarn-client启动的Apache Spark应用程序。填满磁盘的文件是随机播放文件。

1 个答案:

答案 0 :(得分:3)

所以这就是发生的事情:

  1. 提交纱线申请it creates a private local resource文件夹(appcache目录)。
  2. 在此目录中,用于存储块数据的spark块管理器creates目录。如上所述:
  3.   

    本地目录,使用外部shuffle服务时不会在JVM出口上删除。

    1. 可以通过以下方式清除此目录:

      • Shutdown hook。当你杀死应用程序时会发生这种情况。
      • 纱线删除服务。它应该在申请完成时自动完成。确保yarn.nodemanager.delete.debug-delay-sec = 0。否则有一些unresolved yarn bug