精华内容
下载资源
问答
  • SVN 工程项目, 清理工具 , svn 工程日志全部清理,非常方便使用,清理完成,工程就没有一点svn 日志
  • 在集群环境下数据库日志文件疯狂扩张,使用此方法进行数据库日志文件清理。后期可以放到任务计划中定期进行处理
  • DB2 归档日志清理

    2018-02-01 09:57:00
    DB2的日志清理工作,db2 list history archive log all for CISFEDB 查看归档时间戳以及归档日志个数,Number of matching file entries = 6 表示有效日志个数 5.1、db2 force application all 停连接会话
  • 日志清理小工具

    2018-05-23 13:47:39
    日志清理。。。。。。。。。。。。。。。有些系统不一定能用
  • linux常用定时日志清理脚本,一些应用服务器长年累积日志量庞大,用这个定时任务清理指定日志类文件。参考下吧~
  • windows日志清理bat

    2016-08-05 10:34:05
    windows 日志清理 批处理 文件
  • sqlserver日志清理工具

    2016-09-30 15:59:01
    sqlserver日志清理工具,日志过大
  • windows系统日志清理bat,win 10可用;右击,管理员运行,之后可用win+r键,运行eventvwr,查看效果。
  • 该篇文章源码:Nodejs实现自动清理elasticsearch过期索引(日志清理)--学习笔记 http://blog.csdn.net/gzy11/article/details/55260615
  • 测试MSSQL版本2008/2012/2014。 如果使用中遇到问题欢迎关注微信服务号进行反馈! (解压密码:LLINFO)
  •  清空过期日志文件,清理掉超过自定大小日志文件 三、原码 #!/usr/bin/env python # -*- coding: utf-8 -*- import commands import os import time import re import getopt import sys # commands....
  • SQL 2000使用的范围很广泛,同样一个问题也在困扰着使用者。那就是SQL 由于日志回滚的问题,使得日志文件越来越大。...奇文软件SQL日志清理工具,这一问题。迅速清理掉庞大的SQL日志。加快数据库运行。
  • 数据库日志清理工具

    2017-12-10 16:04:59
    数据库日志清理工具,只在SQL 2014环境下测试可用,其他版本sql 应该也能用。需要java 1.7及以上环境 。
  • 数据库日志清理工具是一款神州浩天SQL数据库日志清理收缩数据库日志工具,支持oracle/sql2008数据库日志清理,清除、压缩 SqlServer 的日志,支持多日志文件的SQLSERER数据库日志,能将十几G的日志文件清理成十几兆...
  • MSSQL数据库日志清理工具支持SQL2000/2005/2008/2012/2014/2016版本。也可以备份数据库日志。选择数据库时若报错,请关掉程序,使用管理员权限运行即可。使用说明:1、点击选择数据库,填写数据源信息,测试成功后...
  • 清除、压缩 SqlServer 的日志,支持多日志文件的SQLSERVER数据库日志,能将十几G的日志文件清理成十几兆
  • SQL SERVER2008 日志清理

    2012-09-21 11:46:50
    数据库文件 400M 日志文件3G ,执行完SQL SERVER日志清理后 直接将日志文件初始为1M。
  • 主要介绍了XenServer 日志清理方法详细介绍的相关资料,对日志系统进行了简单介绍,并对命令进行了讲解,需要的朋友可以参考下
  • nacos 日志清理

    千次阅读 2020-10-30 15:03:27
    解决某些中间件或者应用日志无法自动清理的情况,比如:Nacos 的 access 日志。 变更记录 Version 0.0.1 2020/06/05 删除 N 天前的日志文件,仅删除匹配 ".log" 的日志文件 选项 sh clear-logs.sh [options] ...

    需求背景

    解决某些中间件或者应用日志无法自动清理的情况,比如:Nacos 的 access 日志。

    变更记录

    • Version 0.0.1 2020/06/05
      • 删除 N 天前的日志文件,仅删除匹配 ".log" 的日志文件

    选项

    sh clear-logs.sh [options] <value> ...
    
        -p<value>                            删除日志的路径,必输参数
        -d<value>                            删除 N 天前的日志文件,即保留 N 天日志,默认:7
        --help                               帮助信息
        -v, --version                        版本信息
    

    示例

    1. 清理 7 天前的日志文件
    sh clear-logs.sh -p /home/nacos/logs
    sh clear-logs.sh -p /home/nacos/logs -d 7
    
    2. 清理 30 天前的日志文件
    sh clear-logs.sh -p /home/nacos/logs -d 30
    

    使用场景

    Nacos access 日志清理

    crontab 定时任务设置

    $ crontab -e
    0 1 * * * sh /home/nacos/clear-logs.sh -p /home/nacos/nacos/logs -d 7
    

    clear-logs 日志文件,其中 ERROR 关键字会红色显示:

    # cat /tmp/nacos-clear-logs/clear-logs.sh-202006.log
    2020-06-07 01:00:01 [ INFO] ====>> Start cleaning up log files: [/home/nacos/nacos/logs]
    2020-06-07 01:00:01 [ INFO] -- Clean up log file: [/home/nacos/nacos/logs/access_log.2020-04-02.log]
    2020-06-07 01:00:01 [ INFO] ====>> End cleaning up log files: [/home/nacos/nacos/logs]
    2020-06-08 01:00:01 [ INFO] ====>> Start cleaning up log files: [/home/nacos/nacos/logs]
    2020-06-08 01:00:01 [ERROR] In the [/home/nacos/nacos/logs] directory, the log [7] days ago was not found!
    2020-06-08 01:00:01 [ INFO] ====>> End cleaning up log files: [/home/nacos/nacos/logs]
    

    脚本

    $ cat clear-logs.sh
    #!/bin/bash
    #================================================================
    # HEADER
    #================================================================
    #    Filename         clear-logs.sh
    #    Revision         0.0.1
    #    Date             2020/06/05
    #    Author           jiangliheng
    #    Email            jiang_liheng@163.com
    #    Website          https://jiangliheng.github.io/
    #    Description      删除 N 天前的日志文件
    #    Copyright        Copyright (c) jiangliheng
    #    License          GNU General Public License
    #
    #================================================================
    #
    #  Version 0.0.1 2020/06/05
    #     删除 N 天前的日志文件,仅删除匹配  "*.log*"  的日志文件
    #
    #================================================================
    #%名称(NAME)
    #%       ${SCRIPT_NAME} - 删除 N 天前的日志文件
    #%
    #%概要(SYNOPSIS)
    #%       sh ${SCRIPT_NAME} [options] <value> ...
    #%
    #%描述(DESCRIPTION)
    #%       删除 N 天前的日志文件,仅删除匹配  "*.log*"  的日志文件
    #%
    #%选项(OPTIONS)
    #%       -p <value>                 删除日志的路径,必输参数
    #%       -d <value>                 删除 N 天前的日志文件,即保留 N 天日志,默认:7
    #%       --help                     帮助信息
    #%       -v, --version              版本信息
    #%
    #%示例(EXAMPLES)
    #%
    #%       1. 清理 7 天前的日志文件
    #%       sh ${SCRIPT_NAME} -p /home/nacos/logs
    #%       sh ${SCRIPT_NAME} -p /home/nacos/logs -d 7
    #%
    #%       2. 清理 30 天前的日志文件
    #%       sh ${SCRIPT_NAME} -p /home/nacos/logs -d 30
    #%
    #================================================================
    # END_OF_HEADER
    #================================================================
    
    # header 总行数
    SCRIPT_HEADSIZE=$(head -200 "${0}" |grep -n "^# END_OF_HEADER" | cut -f1 -d:)
    # 脚本名称
    SCRIPT_NAME="$(basename "${0}")"
    # 版本
    VERSION="0.0.1"
    
    # 默认保留 7 天
    DAYS=7
    # 脚本执行日志目录
    CLEAR_LOGS_LOG_PATH=/tmp/$(whoami)-clear-logs
    # 日志文件
    LOGFILE=${CLEAR_LOGS_LOG_PATH}/${SCRIPT_NAME}-$(date +%Y%m).log
    
    # usage
    function usage() {
      head -"${SCRIPT_HEADSIZE:-99}" "${0}" \
      | grep -e "^#%" \
      | sed -e "s/^#%//g" -e "s/\${SCRIPT_NAME}/${SCRIPT_NAME}/g" -e "s/\${VERSION}/${VERSION}/g"
    }
    
    # 初始化创建脚本日志目录
    function init() {
      # 目录不存在,则创建
      if [ ! -d "${CLEAR_LOGS_LOG_PATH}" ]
      then
        mkdir -p "${CLEAR_LOGS_LOG_PATH}"
      fi
    
      # 日志文件不存在,则创建
      if [ ! -f "${LOGFILE}" ]
      then
        touch "${LOGFILE}"
      fi
    }
    
    # 记录 INFO log
    function infoLog() {
      echo "$(date "+%Y-%m-%d %H:%M:%S") [ INFO] ${1}" >> "${LOGFILE}"
    }
    
    # 记录 ERROR log
    function errorLog() {
      echo -e "$(date "+%Y-%m-%d %H:%M:%S") \033[31m[ERROR]\033[0m ${1}" >> "${LOGFILE}"
    }
    
    # 清理 log
    function clearLogs() {
      infoLog "====>> Start cleaning up log files: [${LOGS_PATH}]"
      cd "${LOGS_PATH}" || exit
    
      # 查询要清理的文件(*.log*)
      clear_log_files=$(find "${LOGS_PATH}" -type f -mtime +${DAYS} -name "*.log*")
    
      # 没有找到匹配文件,记录日志退出
      if [ -z "${clear_log_files}" ]
      then
        errorLog "In the [${LOGS_PATH}] directory, the log [${DAYS}] days ago was not found!"
        infoLog "====>> End cleaning up log files: [${LOGS_PATH}]"
        exit 1
      fi
    
      # 临时记录要清理的文件(*.log*)
      echo "${clear_log_files}" > log_files.tmp
    
      # 循环清理日志文件
      while IFS= read -r item
      do
        rm -f ${item}
        infoLog "-- Clean up log file: [${item}]"
      done < log_files.tmp
    
      # 删除临时文件
      rm log_files.tmp
    
      infoLog "====>> End cleaning up log files: [${LOGS_PATH}]"
    }
    
    # 主方法
    function main() {
      init
    
      # 参数必输校验
      if [ -z "${LOGS_PATH}" ]
      then
        printf "Parameter [-p] is required!\n"
        exit 1
      fi
    
      # 目录合法性校验
      if [ ! -d "${LOGS_PATH}" ]
      then
       printf "[%s] is not a directory!\n" "${LOGS_PATH}"
       exit 1
      fi
    
      # 数字合法性校验,且必须大于 0,即至少保留1天
      if ! [ "${DAYS}" -gt 0 ] 2>/dev/null
      then
        printf "Parameter [-d] must be a number greater than 0!\n"
        exit 1
      fi
    
      clearLogs
    }
    
    # 判断参数个数
    if [ $# -eq 0 ];
    then
      usage
      exit 1
    fi
    
    # getopt 命令行参数
    if ! ARGS=$(getopt -o vd:p: --long help,version -n "${SCRIPT_NAME}" -- "$@")
    then
      # 无效选项,则退出
      exit 1
    fi
    
    # 命令行参数格式化
    eval set -- "${ARGS}"
    
    while [ -n "$1" ]
    do
      case "$1" in
        -p)
          LOGS_PATH=$2
          shift 2
          ;;
    
        -d)
          DAYS=$2
          shift 2
          ;;
    
        -v|--version)
          printf "%s version %s\n" "${SCRIPT_NAME}" "${VERSION}"
          exit 1
          ;;
    
        --help)
          usage
          exit 1
          ;;
    
        --)
          shift
          break
          ;;
    
        *)
          printf "%s is not an option!" "$1"
          exit 1
          ;;
    
      esac
    done
    
    main
    展开全文
  • MSSQL数据库日志清理工具(2000/2005/2008/2012/2014/2016)-附件资源
  • Hadoop/Yarn的日志清理

    千次阅读 2020-09-22 11:50:39
    Hadoop/Yarn的日志清理可以分为两个子话题讨论: Hadoop/Yarn的本地日志(非Yarn Container生成的日志) Yarn的Container生成的日志 我们这里讨论的日志清理并不是通过定时的日志删除命令去实现,这一做法显然优雅...

    Hadoop/Yarn的日志清理可以分为两个子话题讨论:

    • Hadoop/Yarn的本地日志(非Yarn Container生成的日志)
    • Yarn的Container生成的日志

    我们这里讨论的日志清理并不是通过定时的日志删除命令去实现,这一做法显然优雅, 具体的做法下面会分别进行讨论。

    1. Hadoop/Yarn本地日志的清理

    Hadoop/Yarn使用log4j进行日志输出,所以对于它们本地日志的清理,最好的方式是通过修改log4j的配置配置文件,以rolling的方式写入日志。Hadoop/Yarn的log4j配置文件一般会放置于/etc/hadoop/etc/hadoop/conf下,确切的位置与你使用的Hadoop发行版有关,请自行查找并确认。

    很多的Hadoop的发行版(例如EMR)对于Hadoop/Yarn的本地日志使用DailyRollingFileAppender,这意味着日志将永远不会被自动清理,如果担心日志文件过多挤占磁盘空间的话,可以考虑将DailyRollingFileAppender改为RollingFileAppender, 具体做法是:

    针对集群所有节点上的log4j.properties文件做如下修改:

    • 使用RollingFileAppender替换DailyRollingFileAppender
    • 设定单个log文件的大小 (MaxFileSize)
    • 设定最多log文件数(MaxBackupIndex)

    通过这样的设置,当日志超过指定的og文件数后,会自动覆盖最早期的日志,不再需要手动删除日志。

    覆盖之后,只有重启Hadoop相关服务配置才会生效,但是在重启前建议将现有日志备份到其他位置,备份好之后再删除现有日志:

    sudo rm -rf /var/log/hadoop-hdfs/* /var/log/hadoop-mapreduce/* /var/log/hadoop-yarn/*
    

    具体的日志位置可能会因不同的发行版而不同,但一版都会位于/var/log/下。同样的,该操作需要在集群所有节点上执行。

    清空日志之后就可以重启Hadoop相关服务了,执行前请确保没有集群目前处于空闲状态,没有任务正在执行!

    重启完成之后,执行一些作业,等待一段时间之后,可以进入各个节点的/var/log/hadoop-yarn和/var/log/hadoop-hdfs下查看一下日志文件体积和数量,确保修改已生效。

    2. Yarn的Container日志

    作为一种分布式系统,Yarn上应用会以容器(Container)形式运行,其在运行期间产生的日志也是先写在容器对应物理节点的某个本地目录下。由于日志是分布式存储的,所以不便查看,因此,默认情况下,Yarn都会开启日志聚合功能,将各节点的本地日志聚合之后,存放于HDFS上。控制这一功能的配置项是yarn.log-aggregation-enable,该项通常会被设为true,即启动日志聚合。

    在开启了日志聚合的情况下,Yarn对日志的处理是这样的:容器内日志会先写入worker节点的本地目录下,当作业执行结束后,会将所有节点的日志聚合,存放于hdfs上的某个目录下,同时删除本地节点的日志文件。而hdfs上的目录也有一个保留时间,超过这个时间日志会被自动清除。

    所以对于容器内产生的日志,默认是不需要关注日志越积累越多的问题。控制hdfs上聚合日志保存时长的配置项是yarn.log-aggregation.retain-seconds

    最后,作为一个备忘,我们将日志聚合的几个参数汇总一下,它们都在yarn-site.xml中配置,需要注意的是,在不同的发行版中,它们的默认值都是不尽相同的

    • yarn.log-aggregation-enable

    参数解释:是否启用日志聚集功能,开源Hadoop版的默认值:false

    • yarn.log-aggregation.retain-seconds

    参数解释:在HDFS上聚集的日志最多保存多长时间。开源Hadoop版的默认值:-1

    • yarn.log-aggregation.retain-check-interval-seconds

    参数解释:多长时间检查一次日志,并将满足条件的删除,如果是0或者负数,则为上一个值的1/10。开源Hadoop版的默认值:-1

    • yarn.nodemanager.remote-app-log-dir

    参数解释:当应用程序运行结束后,日志被转移到的HDFS目录(启用日志聚集功能时有效)。开源Hadoop版的默认值:/tmp/logs

    Yarn聚合后的日志可通过ResourceManger页面直接查看。


    关于作者:耿立超,架构师,14年IT系统开发和架构经验,对大数据、企业级应用架构、SaaS、分布式存储和领域驱动设计有丰富的实践经验,热衷函数式编程。目前负责企业数据中台的架构设计和开发工作,对Hadoop/Spark 生态系统有深入和广泛的了解,参与过Hadoop商业发行版的开发,曾带领团队建设过数个完备的企业数据平台,个人技术博客:https://laurence.blog.csdn.net/ 作者著有《大数据平台架构与原型实现:数据中台建设实战》一书,该书已在京东和当当上线:

    京东购书链接:https://item.jd.com/12677623.html
    当当购书链接:http://product.dangdang.com/28974965.html

    扫描图中二维码了解详情↓↓

    在这里插入图片描述

    展开全文
  • SQL数据库日志清理工具,在线清理日志,不会影响数据库运行,方便快捷!
  • sql2008数据库日志清理

    2015-01-19 13:37:02
    sql2008, 数据库日志清理文档的片段填。
  • SQLServer日志清理工具

    2021-03-30 15:41:21
    SQLServer日志清理工具,适合服务器端维护,自动管理,手动和自动清理日志。不用再操心日志的变化,可以睡个好觉。自主开发,实时更新版本
  • linux docker日志清理脚本 无需停止服务 日志清理脚本
  • 主要介绍了linux自动清理日志脚本,主要功能是清理所有目录的日志,根据给定日志目录,删除时间 结合crontab进行清理日志
  • Kafka有两种日志清理策略: 日志删除:按照保留策略删除日志分段 需要将Broker端参数log.cleanup.policy设置为delete(默认值) 日志压缩:根据每个消息的key进行整合,对于有相同的key的消息,只保留...

    Kafka将消息持久化到磁盘中的Log中,为了控制日志文件的大小就需要对消息进行清理操作。每个Log对应一个分区副本,Log可以分为多个日志分段,便于日志的清理操作。

    在了解日志清理机制之前,请先了解日志存储方式

    Kafka有两种日志清理策略:

    • 日志删除:按照保留策略删除日志分段
      需要将Broker端参数log.cleanup.policy设置为delete(默认值)
    • 日志压缩:根据每个消息的key进行整合,对于有相同的key的消息,只保留最后一个版本。
      需要将Broker端参数log.cleanup.policy设置为compactlog.cleaner.enable设置为true(默认值)

    如果需要同时启动日志删除和日志压缩策略,可以将log.cleanup.policy设置为delete,compact

    日志删除

    Kafka日志管理器中有专门的任务负责周期性地检测、删除不符合条件的日志分段文件,该周期可通过参数log.rentention.check.interval.ms来配置,默认值为300000(5分钟)。

    日志删除策略有3种:基于时间的删除策略、基于日志大小的删除策略、基于日志起始偏移量的删除策略。

    基于时间的删除策略

    日志删除任务会定期检查日志文件中是否有保留时间超出retentionMs的日志分段。retentionMs可以通过Broker端server.properties文件中的参数log.retention.hourslog.retention.minuteslog.retention.ms来配置,优先级依次递增。默认情况下只配置了log.retention.hours
    在这里插入图片描述
    所以说,默认的retentionMs为168小时,即日志分段最多保存7天。

    那么,Kafka是根据哪个时间来判断这个日志分段是否过期呢?
    首先,它并不是只根据日志分段的最近修改时间lastModifiedTime)来计算,而是根据日志分段中的最大时间戳largestTimeStamp)计算的,因为最近修改时间常常会被更新。获取最大时间戳需要查询该日志分段所对应的时间戳索引文件(.timeindex文件)中最后一条索引项,若该索引项的时间戳大于0就取该值计算,否则还是取lastModifiedTime

    执行日志分段的删除任务时,会首先从Log对象中维护的日志分段的跳跃表中移除需要删除的日志分段,然后将日志分段所对应的文件和索引文件添加.deleted后缀。最后转交给名称为delete-file任务来删除以.deleted为后缀的文件,执行延迟时间可通过参数file.delete.delay.ms控制,默认为1分钟。

    基于日志大小

    该策略会依次检查每个日志中的日志分段是否超出指定的大小(retentionSize),对超出指定大小的日志分段采取删除策略。retentionSize可通过Broker端参数log.retention.bytes来配置,单位为字节,默认值为-1,表示无穷大,该参数配置的是Log中所有日志文件的总大小,并非单个日志分段的大小。单个日志分段文件的大小限制可通过log.segment.bytes来限制,默认为1073741824,即1GB。

    基于日志起始偏移量

    大多数情况下,日志的起始偏移量logStartOffset( O s t a r t O_{start} Ostart)等于第一个日志分段的baseOffset( O b a s e 0 O^0_{base} Obase0)。baseOffset的值也可以通过kafka-delete-records.sh脚本发起DeleteRecordsRequest请求手动修改。

    该删除策略具体是删除某日志分段的下一个日志分段的baseOffset小于等于logStartOffset的部分。例如:日志起始分段 O s t a r t = 28 O_{start} = 28 Ostart=28, 日志分段0的起始偏移量 O b a s e 0 = 0 O^0_{base} = 0 Obase0=0,日志分段1的起始偏移量 O b a s e 1 = 15 O^1_{base} = 15 Obase1=15,日志分段2的起始偏移量 O b a s e 2 = 25 O^2_{base} = 25 Obase2=25 ,日志分段3的起始偏移量 O b a s e 3 = 35 , O^3_{base} = 35, Obase3=35待删除的日志分段集合为 D D D,删除步骤如下:

    1. 从头遍历每个日志分段,发现 O b a s e 0 &lt; O s t a r t O^0_{base} &lt; O_{start} Obase0<Ostart O b a s e 1 &lt; O s t a r t O^1_{base} &lt; O_{start} Obase1<Ostart,将日志分段0和日志分段1加入集合 D D D
    2. 虽然日志分段2的 O b a s e 2 &lt; O s t a r t O^2_{base} &lt; O_{start} Obase2<Ostart,但是它的下一个日志分段3的起始偏移量 O b a s e 3 &gt; O s t a r t O^3_{base} &gt; O_{start} Obase3>Ostart,所以包括日志分段2在内的后面所有日志分段都不会加入集合 D D D
    3. 最后删除集合 D D D中的日志分段

    在这里插入图片描述

    日志压缩

    Kafka中的日志压缩(Log Compaction)会保留具有相同key(不为null的前提下),不同value的消息集合中最新的一条消息,其余的将其删除。注意这里的日志压缩和消息压缩是两回事,消息压缩是采用gzip、LZ4等压缩算法压缩消息内容。如果用户需要删除整个key,可以添加一个墓碑消息,即valuenull,但是key不为nullkey的值等于需要删除的key)的消息。

    日志压缩在执行前后会保证每条消息的偏移量不会发生改变,在执行期间会生成新的日志分段文件,消息的物理位置会发生变化,但由于偏移量没有改变所以偏移量不一定是连续的,但是并不会影响查询。

    Kafka日志存储路径下有一个cleaner-offset-checkpoint文件,该文件记录了清理检查点,也就是每个分区中已被清理的偏移量。清理检查点将Log划分为两个部分:已经清理过的clean部分和未经清理的dirty部分。clean部分的消息偏移量不一定是连续的,而dirty部分消息偏移量是连续且逐一递增的。消费者必须读取dirty部分的消息才能保证能够读到所有的消息。需要注意活跃的日志分段(当前正在读写的日志分段)不会参与到日志压缩。

    日志清理工作由Broker中专门的线程负责处理,该线程数量默认为1,可通过参数log.cleaner.thread指定。这个线程优先选择dirty部分比例最高的日志进行处理,这个比例具体的计算方式是:dirty比例等于dirty部分所占用字节数除以cleandirty部分所占用字节数。为了防止日志清理操作过于频繁,可通过参数log.cleaner.min.cleanable.ratio来定义这个阈值(默认为0.5)。

    选择好日志文件后,接下来就是根据该日志文件进行清理操作了。日志清理线程会使用一个SkimpyOffsetMap哈希表来构造keyoffset的映射关系,具体在执行清理操作时会遍历两遍日志文件,第一遍把消息的每个key的哈希值(通过MD5来计算哈希,使用线性探测法解决哈希冲突)和最后出现的offset存储在SkimpyOffsetMap中,第二遍检查消息是否符合保留条件,对不符合的消息进行删除。SkimpyOffsetMap的负载因子可通过log.cleaner.io.buffer.load.factor调整,默认为0.9。

    对于墓碑消息,日志清理线程会保留墓碑消息一段时间 T s a v e T_{save} Tsave,这个条件是当前墓碑消息所在的日志分段的最近修改时间 T u p d a t e &gt; T h o r i z o n T_{update}&gt;T_{horizon} Tupdate>Thorizon T h o r i z o n T_{horizon} Thorizon的计算方式是clean部分中最后一个日志分段的最近修改时间减去log.cleaner.delete.retention.ms(默认86400000,即24小时)。

    清理完日志分段文件后,其日志分段会比原先的要小,为了防止过多的小文件产生,Kafka会将日志文件中offset从0至firstUncleanableOffset的所有日志分段进行分组,要求每组日志分段的占用空间之和不超过log.segment.bytes(默认1GB),并且对应的索引文件大小占用之和不超过log.index.interval.bytes(默认10M),同一个组的所有日志分段文件最后会整合为一个日志分段文件。此时日志压缩完成。

    展开全文
  • Sql Server 日志清理工具

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 138,083
精华内容 55,233
关键字:

日志清理