You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

YARN Timeline Server .out日志不滚动导致磁盘满的解决方案咨询

YARN Timeline Server .out日志无限制增长解决方案

默认情况下,YARN Timeline Server的.out文件为进程标准输出/错误的重定向文件,原生未内置滚动策略,会持续写入导致磁盘占用过高,可通过以下两种方案解决:

方案一:修改YARN启动脚本启用滚动(适配自研/开源原生Hadoop版本)

  • 定位YARN启动脚本yarn-daemon.sh,默认路径为$HADOOP_YARN_HOME/sbin/yarn-daemon.sh
  • 找到Timeline Server进程启动时的重定向逻辑,将默认的追加写入配置,替换为通过rotatelogs工具实现滚动输出:
    • 若系统未安装rotatelogs,可执行yum install httpd-tools(CentOS/RHEL)或apt install apache2-utils(Debian/Ubuntu)安装
    • 按大小+数量限制滚动示例:将原重定向语句>> $YARN_TIMELINESERVER_OUT_FILE 2>&1 < /dev/null修改为| rotatelogs -n 10 -s 100M $YARN_LOG_DIR/hadoop-yarn-timelineserver-%Y%m%d%H%M.out 2>&1 < /dev/null,其中-n 10表示最多保留10个历史文件,-s 100M表示单文件最大100M,达到阈值自动滚动
  • 修改完成后重启YARN Timeline Server服务即可生效

方案二:使用系统logrotate工具实现滚动(无需修改Hadoop原生配置,优先推荐)

该方案不修改Hadoop官方脚本,版本升级、发行版更新不会丢失配置,适配所有Hadoop版本及CDH/CDP等商业发行版:

  • 新增logrotate配置文件/etc/logrotate.d/yarn-timelineserver,写入如下配置:
/var/log/hadoop-yarn/hadoop-yarn-timelineserver-*.out {
    size 100M
    rotate 10
    copytruncate
    missingok
    notifempty
    compress
    delaycompress
}
  • 配置说明:
    • size 100M:单.out文件大小达到100M时触发滚动,也可替换为daily按天滚动,两个条件可同时配置,满足任意一个即执行滚动
    • rotate 10:最多保留10份历史日志,超过自动删除最旧的文件
    • copytruncate:先复制当前日志内容到历史文件,再清空原.out文件,无需重启Timeline Server服务,不会中断进程日志写入
    • compress:自动gzip压缩历史日志,可节省70%以上的磁盘空间
  • 手动执行测试配置是否生效:logrotate -f /etc/logrotate.d/yarn-timelineserver,执行后查看/var/log/hadoop-yarn路径下是否生成压缩后的历史.out文件即可

内容的提问来源于stack exchange,提问作者Ashutosh gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:24:03