Spark历史记录服务器和清除历史记录

时间:2018-07-30 12:03:42

标签: apache-spark yarn

摆脱History Server条目的最佳方法是什么。我的集群有很多执行,显示为应用程序ID。我知道这些在HDFS文件系统中占据了大量的硬盘空间(我认为)。

实际上,随着集群中越来越多的执行发生,History服务器的堆内存使用率随着时间而持续增加。

我在Spark配置中更改了两件事: 1)保留的应用计数(Spark conf) spark.history.retainedApplications(从50到5)

2)Yarn Conf-JobHistory服务器的Java堆大小(以字节为单位)-之前是128 MB,我增加到256,然后增加到920。由于堆内存问题,直到我放入920时,历史记录服务器才启动。 >

我可以做更多清理工作,以便Spark历史记录服务器不占用太多内存。我现阶段对历史不感兴趣。

1 个答案:

答案 0 :(得分:0)

我想到的一种方法是编写另一个自定义作业,该作业可以提取火花历史记录并将其存储在云/任何外部存储设备中(例如:s3)。您可以将此作业作为从属作业添加到您的应用程序中,以便每当您的应用程序执行时,清理作业也将作为最后一步运行。例如,如果您正在通过EMR执行作业,则可以将该作业添加为从属步骤,以便每当作业完成时,都会触发清理作业,并且您的应用程序历史记录可以存储在S3中