摆脱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历史记录服务器不占用太多内存。我现阶段对历史不感兴趣。
答案 0 :(得分:0)
我想到的一种方法是编写另一个自定义作业,该作业可以提取火花历史记录并将其存储在云/任何外部存储设备中(例如:s3)。您可以将此作业作为从属作业添加到您的应用程序中,以便每当您的应用程序执行时,清理作业也将作为最后一步运行。例如,如果您正在通过EMR执行作业,则可以将该作业添加为从属步骤,以便每当作业完成时,都会触发清理作业,并且您的应用程序历史记录可以存储在S3中