Spark线上日志处理

spark线上日志处理

1、日志产生的背景
  多个spark程序在线上跑,每天打印很多的info日志和业务中的调试日志
2、日志导致的问题
  由于程序中的日志没有控制好,导致磁盘空间很快就被占满了,最终hdfs的datanode和namenode挂掉,最终整个集群瘫痪
3、解决办法
  1)首先将spark的conf目录下log4j.properties默认info级别改成warn级别
  Spark线上日志处理_第1张图片
  2)在spark-submit中指定log4j配置文件,这个是每个excutor需要的配置文件
  Spark线上日志处理_第2张图片
  3)这个配置文件是写死的目录,每台工作的服务器上都要有这个相同目录的log4j文件
总结:线上的日志文件一定要控制好,不然会浪费很多磁盘空间的。对于yarn产生的本地临时文件,是由于spark程序还在跑,所以文件存放在每个excutor下的本地目录中,程序停止后,会将每个excutor日志以及drive下的日志聚合到一个文件中,写入hdfs。正常这些本地目录下产生的日志文件不用删除,如果磁盘受到影响,可以通过写定时任务删除这些日志。

你可能感兴趣的:(spark,大数据)