kafka-常用命令及配置


1、broker端指令

日志清理

  • 日志清理有三种配置方式
#日志删除(没有log.cleanup.policy指令时的默认配置)
log.cleanup.policy="delete"

#日志压缩,并且还需要将log.cleaner.enable(默认值为true)设定为true
log.cleanup.policy="compact"
log.cleaner.enable=true

#同时支持日志删除和日志压缩两种策略
log.cleanup.policy="delete,compact"

1、时间删除日志

#日志删除(没有log.cleanup.policy指令时的默认配置)
log.cleanup.policy="delete"

#周期性地检测和删除不符合保留条件的日志分段文件,默认值为300000,即5分钟
log.retention.check.interval.ms=300000
#删除过期日志分段时要延迟的执时间(执行"delete-file"任务的延迟时间,此时已在要删除的日志名后添加了".deleted"后缀)。默认值为60000,即1分钟
file.delete.delay.ms=60000

###基于时间删除日志
#log.retention.hours是没有配置如何清理日志时的默认配置(默认值为168小时,即7天)
#log.retention.ms的优先级最高,log.retention.minutes次之,log.retention.hours最低。
log.retention.hours=168

###基于大小删除日志
#日志文件的总大小,默认值为-1,表示无穷大
log.retention.bytes=-1

###基于日志起始偏移量
#某日志分段的下一个日志分段的起始偏移量baseOffset是否小于等于logStartOffset,若是,则可以删除此日志分段
#logStartOffiset的值可以修改

2、日志压缩

#日志压缩,并且还需要将log.cleaner.enable(默认值为true)设定为true
log.cleanup.policy="compact"
log.cleaner.enable=true

###日志清理线程
#(推测)所有日志清理线程可以使用的内存空间的总大小,默认值128MB
log.cleaner.dedupe.buffer.size=128MB
#日志清理线程的个数,默认值为1
log.cleaner.thread=1
#每个日志清理线程可以使用的内存比例,默认值为0.9。(默认情况下,每个日志清理线程可以使用的内存大小是"(128MB/1)*0.9")
log.cleaner.io.buffer.load.factor=0.9

###选择哪些日志文件进行日志压缩操作
#保留消息的最小时间,默认值为0(即firstUncleanableOffset的值在保留时间之前。默认情况下firstUncleanableOffset等于activeSegment的baseOffset)
log.cleaner.min.compaction.log.ms=0

###进行日志压缩操作的条件
#可进行日志压缩的最小污浊率(即没有达到最小污浊率之前,不进行日志清理),默认值为0.5
log.cleaner.min.cleanable.ratio=0.5

###将要进行日志压缩的文件进行分组
#每组中日志分段的占用空间大小之和不超过该指令的值,默认值为1GB
log.segment.bytes=1073741824
#索引文件占用大小之和不超过该指令的值,默认值为10MB
log.index.interval.bytes=10485760

#压缩日志后,墓碑消息的保留时间。默认值为86400000,即24小时
log.cleaner.delete.retention.ms=86400000
#                                                                                                                      #