MapReduce服务 MRS-【Spark WebUI】HistoryServer缓存的应用被回收导致此类应用页面访问时出错:原因分析
原因分析
在History Server页面加载Task个数较多的Spark应用时,由于无法把全部的数据放入内存中,导致数据溢出到磁盘时,会产生前缀为“temp_shuffle”的文件。
HistoryServer默认会缓存50个Spark应用(由配置项“spark.history.retainedApplications”决定),当内存中的Spark应用个数超过这个数值时,HistoryServer会回收最先缓存的Spark应用,同时会清理掉相应的“temp_shuffle”文件。
当用户正在查看即将被回收的Spark应用时,可能会出现找不到“temp_shuffle”文件的错误,从而导致当前页面无法访问。