我有一个简单的Spark应用程序,它读取一些数据,计算一些指标,然后保存结果(输入和输出是Cassandra表)。这段代码定期运行(即每分钟)。
我有一个Cassandra / Spark(Spark 1.6.1),几分钟后,我的Spark集群主节点上的临时目录被填满,并且主服务器拒绝再运行任何作业。我用spark-submit提交这份工作。
我错过了什么?如何确保主节点删除临时文件夹?
答案 0 :(得分:0)
Spark使用此目录作为临时空间,并在其中输出临时地图输出文件。这可以改变。你应该看一下spark.local.dir
。
答案 1 :(得分:0)
每次提交应用时,jar都会复制到新应用目录中的所有工作人员。你的罐子有多大?你在构建一个包含datastax驱动程序jar的胖罐吗?在这种情况下,我猜你的应用程序将是几MB。每分钟运行一次会很快填满你的磁盘。
Spark有两个参数来控制app目录的清理: spark.worker.cleanup.interval 控制火花清洁的频率 spark.worker.cleanupDataTtl ,用于控制应用目录在清理前应保留多长时间。
这两个参数都是以秒为单位。
希望这有帮助!