• Kafak——日志数据策略


    前言

    kafka 默认存放7天的临时数据,如果遇到磁盘空间小,存放数据量大,可以设置缩短这个时间。

    全局设置

    修改:server.properties

    log.retention.hours=72
    log.cleanup.policy=delete

    某个Topic设置

    例如:将topiclogstash-log的日志数据设置为1天,单位为毫秒。

    修改命令:

    ./kafka-configs.sh --zookeeper localhost:2181 --alter --entity-name logstash-log --entity-type topics --add-config retention.ms=86400000 

    查看是否生效:

    ./kafka-config --zookeeper localhsot:2181 --describle --entity-name logstash-log --entity_type topics

    立刻删除

    ./kafka-topics.sh --zookeeper localhost:2181 --alter --topic logstash-log --config cleanup.policy=delete

    查看是否生效:

    ./kafka-topics.sh --zookeeper localhost:2181 --topic logstash-log --describe 

    日志策略

    分段策略属性

    属性名 含义 默认值
    log.roll.{hours,ms} 日志滚动的周期时间,到达指定周期时间时,强制生成一个新的segment 168(7day)
    log.segment.bytes 每个segment的最大容量。到达指定容量时,将强制生成一个新的segment 1G(-1为不限制)
    log.retention.check.interval.ms 日志片段文件检查的周期时间 60000(1分钟)

     

    日志刷新策略

    Kafka的日志实际上是开始是在缓存中的,然后根据策略定期一批一批写入到日志文件中去,以提高吞吐率。

    属性名 含义 默认值
    log.flush.interval.messages 消息达到多少条时将数据写入到日志文件 10000
    log.flush.interval.ms 当达到该时间时,强制执行一次flush 1000
    log.flush.scheduler.interval.ms 周期性检查,是否需要将信息flush 很大的值

    日志保存清理策略

    属性名 含义 默认值
    log.cleanup.policy 日志清理保存的策略只有delete和compact两种 delete
    log.retention.hours 日志保存的时间,可以选择hours,minutes和ms

    168(7day)

    log.retention.bytes 删除前日志文件允许保存的最大值 -1
    log.segment.delete.delay.ms 日志文件被真正删除前的保留时间

    60000

    log.cleanup.interval.mins 每隔一段时间多久调用一次清理的步骤 10
    log.retention.check.interval.ms 周期性检查是否有日志符合删除的条件(新版本使用)

    300000

    日志删除,只是无法被索引到了而已。文件本身仍然是存在的,只有当过了log.segment.delete.delay.ms 这个时间以后,文件才会被真正的从文件系统中删除。

     

     

    引用:

  • 相关阅读:
    Python格式符号
    Python基础知识
    HDFS 数据流程
    HDFS IO流操作
    HDFS API操作
    Hadoop 客户端环境准备
    Hadop 环境搭建 windows10+hadoop2.7.7
    Hadoop HDFS shell
    Hadoop HDFS 基础
    centos 更改清华源
  • 原文地址:https://www.cnblogs.com/caoweixiong/p/14717168.html
Copyright © 2020-2023  润新知