前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark History Server自动删除日志文件

Spark History Server自动删除日志文件

作者头像
sparkle123
发布2021-01-04 10:35:01
2.5K0
发布2021-01-04 10:35:01
举报

背景

公司的计算平台上,写入spark-history目录日志文件数超过设定阈值(1048576),导致任务失败。

临时的解决方案

mv spark-history spark-history_bak,并新建spark-history空目录,新起的任务日志可以往新的空目录下写入,不过,如果之前有任务往旧目录写入日志,在重定向过程中,append写入新的日志数据,就会报错,还是影响到了业务。 另外,该目录下有将近100W的文件数,常规hdfs dfs命令操作的话,报out of mememory gc overlimit exceed之类的错误, 通过export HADOOP_CLIENT_OPTS="$HADOOP_CLIENT_OPTS -Xmx6000m"加大hadoop客户端堆内存,遍历出文件数,发现这些文件是最近一个月产生的。 自动删除日志文件的机制并没有work。

关于Spark History Server参数

spark.history.fs.update.interval 默认值10秒 指定刷新日志的时间,更短的时间可以更快检测到新的任务以及任务执行情况,但过快会加重服务器负载

spark.history.ui.maxApplication 默认值intMaxValue 这个参数指定UI上最多显示的作业的数目

spark.history.ui.port默认值18080 这个参数指定history-server的网页UI端口号

spark.history.fs.cleaner.enabled 默认为false 这个参数指定history-server的日志是否定时清除,true为定时清除,false为不清除。这个值一定设置成true啊,不然日志文件会越来越大。

spark.history.fs.cleaner.interval默认值为1d 这个参数指定history-server的日志检查间隔,默认每一天会检查一下日志文件

spark.history.fs.cleaner.maxAge默认值为7d 指定history-server日志生命周期,当检查到某个日志文件的生命周期为7d时,则会删除该日志文件

spark.eventLog.compress 默认值为false 设置history-server产生的日志文件是否使用压缩,true为使用,false为不使用。这个参数务可以成压缩哦,不然日志文件岁时间积累会过大

spark.history.retainedApplications  默认值:50 在内存中保存Application历史记录的个数,如果超过这个值,旧的应用程序信息将被删除,当再次访问已被删除的应用信息时需要重新构建页面。

ambari设置页面

image.png

最终方案:

虽然通过ambari页面设置了该清理文件的时间,不过到spark-historyserver服务器, cd /usr/xdp/current/spark-history-server目录的conf文件下面 看到并没有反映到里面来,只能手动加入。重启 History Server

代码语言:javascript
复制
# Generated by Apache Ambari. Wed Dec  2 16:14:32 2020

spark.driver.extraLibraryPath /usr/xdp/current/mapreduce_client/lib/native:/usr/ndp/current/mapreduce_client/lib/native/Linux-amd64-64
spark.eventLog.dir hdfs://cluster123/spark2-history/
spark.eventLog.enabled true
spark.executor.extraLibraryPath /usr/xdp/current/mapreduce_client/lib/native:/usr/xdp/current/mapreduce_client/lib/native/Linux-amd64-64
spark.history.fs.cleaner.enabled true
spark.history.fs.cleaner.interval 1d
spark.history.fs.cleaner.maxAge 5d
spark.history.fs.logDirectory hdfs://cluster123/spark2-history/
spark.history.fs.numReplayThreads 20
spark.history.fs.update.interval 5s
spark.history.kerberos.enabled true
spark.history.kerberos.keytab /home/hadoop/yarn/conf/spark2.headless.keytab
spark.history.kerberos.principal spark-hz-cluster11@HADOOP2.XXYY.COM
spark.history.provider org.apache.spark.deploy.history.FsHistoryProvider
spark.history.retainedApplications 50
spark.history.store.maxDiskUsage 500g
spark.history.store.path /mnt/dfs/2/spark/historyStore
spark.history.ui.maxApplications 50000
spark.history.ui.port 18081
spark.shuffle.io.maxRetries 18
spark.shuffle.io.retryWait 5s
spark.shuffle.registration.maxAttempts 30
spark.shuffle.registration.timeout 20000
spark.sql.authorization.enable true
spark.sql.autoBroadcastJoinThreshold -1
spark.yarn.historyServer.address spark10.DDFF.org:18081
spark.yarn.queue default
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • 临时的解决方案
  • 关于Spark History Server参数
  • ambari设置页面
  • 最终方案:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档