MAPREDUCE服务 MRS-配置Spark Eventlog日志回滚:操作场景
操作场景
事件日志滚动是一种日志管理技术,通过将日志文件按时间或大小分割成多个文件,来避免单个日志文件过大。滚动日志文件可以提高日志的管理和分析效率,特别是在处理大量日志数据时。
事件日志记录了Spark应用程序的执行过程中的各种事件,如任务的启动和完成、阶段的提交和完成等。当程序长时间运行,会导致job和ask过多,造成日志文件很大,如JD BCS erver、Spark Streaming程序。启用事件日志滚动可以帮助管理日志文件的大小,避免单个日志文件过大导致的问题。
而日志回滚功能是指在写事件日志时,将元数据事件(EnviromentUpdate,BlockManagerAdded,BlockManagerRemoved,UnpersistRDD,ExecutorAdded,ExecutorRemoved,MetricsUpdate,ApplicationStart,ApplicationEnd,LogStart)写入日志文件中,Job事件(StageSubmitted, StageCompleted, TaskResubmit, TaskStart,TaskEnd, TaskGettingResult, JobStart,JobEnd)按文件的大小进行决定是否写入新的日志文件。对于Spark SQL的应用,Job事件还包含ExecutionStart、ExecutionEnd。
Spark中有个HistoryServer服务,其UI页面就是通过读取解析这些日志文件获得的。在启动HistoryServer进程时,内存大小就已经定了。因此当日志文件很大时,加载解析这些文件就可能会造成内存不足,driver gc等问题。
所以为了在小内存模式下能加载较大日志文件,需要对大应用开启日志滚动功能。一般情况下,长时间运行的应用建议打开该功能。