我在独立群集上运行spark-kafka流应用程序。
正在将应用程序jar复制到正在写入stdout和stderr文件的文件夹'work'。正在将jar复制到正在使用的所有节点,并且在杀死应用程序后永远不会被删除..
任何人都可以建议我在完成应用程序运行后如何摆脱这个jar?是否有任何参数可以防止复制此jar。?
答案 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会代表您分发此代码以允许此代码。