停止在工作文件夹中创建的Spark jar

时间:2016-11-17 05:09:04

标签: apache-spark spark-streaming

我在独立群集上运行spark-kafka流应用程序。

正在将应用程序jar复制到正在写入stdout和stderr文件的文件夹'work'。正在将jar复制到正在使用的所有节点,并且在杀死应用程序后永远不会被删除..

任何人都可以建议我在完成应用程序运行后如何摆脱这个jar?是否有任何参数可以防止复制此jar。?

enter image description here

1 个答案:

答案 0 :(得分:2)

  

任何人都可以告诉我如何在完成后摆脱这个罐子   申请运行?

是的,Spark has a cleanup mechanism您可以通过标记spark.worker.cleanup.enabled在每个工作节点中启用:

  

启用定期清理worker / application目录。注意   这只会影响独立模式,因为YARN的工作方式不同。只有   已清除的应用程序目录已清理。

还有其他属性可用于调整应用程序清理时间:

  • spark.worker.cleanup.interval:控制工作人员在本地计算机上清理旧应用程序工作目录的时间间隔(以秒为单位)。
  • spark.worker.cleanup.appDataTtl:在每个worker上保留应用程序工作目录的秒数。这是一个生存时间,应该取决于您拥有的可用磁盘空间量。应用程序日志和jar将下载到每个应用程序工作目录。随着时间的推移,工作目录可以快速填满磁盘空间,特别是如果您经常运行工作。
  

是否有任何参数可以防止这个jar被复制?

不,这个JAR是必不可少的。它包含运行应用程序所需的代码。否则,您的工作节点将如何执行图表中创建的代码?您必须将此代码提供给群集中的所有工作人员,并且Spark会代表您分发此代码以允许此代码。