gpt4 book ai didi

apache-spark - Apache Spark 不会删除临时目录

转载 作者:行者123 更新时间:2023-12-03 07:27:19 26 4
gpt4 key购买 nike

spark程序完成后,temp目录中保留3个临时目录。目录名称如下:spark-2e389487-40cc-4a82-a5c7-353c0feefbb7

目录为空。

当Spark程序在Windows上运行时,临时目录中还会保留一个snappy DLL文件。文件名是这样的:snappy-1.0.4.1-6e117df4-97b6-4d69-bf9d-71c4a627940c-snappyjava

每次 Spark 程序运行时都会创建它们。因此文件和目录的数量不断增长。

怎样才能让它们被删除?

Spark 版本为 1.3.1,Hadoop 2.6。

更新

我已经追踪到了 Spark 源代码。

创建 3 个“temp”目录的模块方法如下:

  • DiskBlockManager.createLocalDirs
  • HttpFileServer.initialize
  • SparkEnv.sparkFilesDir

他们(最终)调用 Utils.getOrCreateLocalRootDirs,然后调用 Utils.createDirectory,它故意不将目录标记为自动删除。

createDirectory 方法的注释说:“该目录保证是新创建的,并且未标记为自动删除。”

我不知道为什么它们没有被标记。这真的是故意的吗?

最佳答案

存在三个 SPARK_WORKER_OPTS 来支持工作应用程序文件夹清理,复制到此处以供进一步引用:来自 Spark Doc

  • spark.worker.cleanup.enabled,默认值为false,启用定期清理工作/应用程序目录。请注意,这仅影响独立模式,因为 YARN 的工作方式不同。仅清理已停止应用程序的目录。

  • spark.worker.cleanup.interval,默认为 1800,即 30 分钟,控制工作人员清理本地计算机上旧应用程序工作目录的时间间隔(以秒为单位) .

  • spark.worker.cleanup.appDataTtl,默认为7*24*3600(7天),每个worker上保留应用程序工作目录的秒数。这是生存时间,应取决于您拥有的可用磁盘空间量。应用程序日志和 jar 下载到每个应用程序工作目录。随着时间的推移,工作目录会很快填满磁盘空间,特别是当您非常频繁地运行作业时。

关于apache-spark - Apache Spark 不会删除临时目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30093676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com