解决spark日志清理问题

解决spark日志清理问题

背景

由于采用了sparkstreaming 任务一直再运行导致日志文件暴涨,达到了硬盘的预警,不得已必须指定策略定期删除日志已保证服务器硬盘空间。

 

spark的日志分类

spark的日志都有那些:

1.event(history)

2.work

3.executor

 

解决方法

方案1

一开始为了快速实现日志清理,选择了脚本自动清理,写了shell脚本便于清理历史文件,但是会有很多细节甚至有些文件不能删除(由于进程占用),这里不做详细介绍了。

方案2

spark配置来解决这几个问题

conf文件下面的两个文件中修改配置:

1.解决executor(work目录) 日志太大的问题,修改spark-defaut.conf

# 日志循环复写的策略(一般就是size和time)这里受限于空间选择了大小
spark.executor.logs.rolling.strategy size
# 设定复写的大小,这里设定了1G spark.executor.logs.rolling.maxSize
1073741824
# 设定组大保留文件
spark.executor.logs.rolling.maxRetainedFiles 100
# 设定更新周期这里选择一小时检查一次是否超过最大值
spark.executor.logs.rolling.time.interval hourly

2.解决历史日志问题spark-env.sh 文件添加 历史日志清洗参数配置

export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=/export/opt/spark/spark2.4.0/logs -Dspark.history.fs.cleaner.enabled=true -Dspark.history.fs.cleaner.interval=1d -Dspark.history.fs.cleaner.maxAge=2d -Dspark.history.retainedApplications=100"

3.woker日志清理同上文件

export SPARK_WORKER_OPTS="-Dspark.worker.cleanup.enabled=true -Dspark.worker.cleanup.interval=1800 -Dspark.worker.cleanup.appDataTtl=86400"

 

方案3

log4j 替代默认的日志记录,再shell的提交脚本中加入如下参数

--files "./log4j.properties" \
--driver-java-options "-Dlog4j.debug=true -Dlog4j.configuration=log4j.properties" \
--conf spark.driver.extraJavaOptions='-Dlog4j.configuration=file:/opt/spark/conf/log4j.properties' \

 

总结

  再实际应用过程中依然有很多不能日志复写或者不能文件导致日志太大的问题,需要具体问题具体解决。比如spark3.0 才支持history日志循环写。另外yarn模式和standalone 也有很多不同,需要区别处理。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119634.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Postman用法简介

    Postman用法简介Postman 用法简介 Http 请求模拟工具 在我们平时开发中 特别是需要与接口打交道时 无论是写接口还是用接口 拿到接口后肯定都得提前测试一下 这样的话就非常需要有一个比较给力的 Http 请求模拟工具 现在流行的这种工具也挺多的 像火狐浏览器插件 RESTClient Chrome 浏览器插件 Postman 等等 这里主要介绍一下 Postman nbsp 一 Postman 说明

    2025年10月10日
    4
  • 设计模式(二十一)状态模式

    设计模式(二十一)状态模式

    2021年7月7日
    73
  • 毕业论文管理系统_本科毕业论文网

    毕业论文管理系统_本科毕业论文网毕业论文管理系统1.首先是个简约的登录页面,登录页面分为三个角色,分别是学生,老师和管理员系统的登录界面2.接下来是用户模块,分别为两个模块教师和学生的,管理员可以进行教师和学生添加和修改。3.系部管理4.文件管理,学生上传的论文,管理员和教师都可以进行下载和查看5.学生模块,学生选题,教师发布的题目学生可以进行选择。学生也可以自己申请题目6.学生申请课题7.论文初稿,学生上传论文初稿,等指导老师通过后才能进行最后的终稿8.学生上传论文,指导老师可以提建议,学生可以查看指导老师的建议9.

    2025年6月28日
    6
  • pycharn激活码(最新序列号破解)

    pycharn激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    32
  • matlab画圆的命令_matlab 如何画圆[通俗易懂]

    matlab画圆的命令_matlab 如何画圆[通俗易懂]展开全部symsab;ezplot((2-a).^2+(50-b).^2);为什么这样画只能出现一个点?636f707962616964757a686964616f31333335313161不能出现一个圆答:这时圆没有半径,r=0;symsab;ezplot((2-a).^2+(50-b).^2-1);解答:(MatlabR2013b)>>symsab&…

    2022年6月19日
    24
  • async/await Task Timeout

    async/await Task Timeout

    2021年9月15日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号