1、num.partitions

该参数指定了新创建的topic有多少分区,如果启用了topic的自动创建功能(该功能默认启动),topic的分区个数就是该参数指定的值,该参数的默认值为1

2、log.retention.hour

Kafka通常根据时间来确定数据被保存多长时间,默认使用log.retention.hour来配置,默认为168小时(即7天), 除该参数外,还有 log.retention.minute和 log.retention.ms两个参数,都是决定消息多久以后被删除的,如果指定了不止一个参数, Kafka会优先使用具有最小值的那个参数。
例如:log.retention.hour设置为24,log.retention.minute设置为20,那么数据将会被 保留20分钟
注意:时间保留数据是通过检查磁盘上日志片段文件的最后修改时间来实现的。也就是文件里最后一个消息的时间戳)

3、log.retention.bytes

通过保留的消息字节数来判断消息是否过期,它的值通过参数 log. retention.bytes来指定,作用在每一个分区上。也就是说,如果有一个包含 8 个分区的主 题,井且 log.retention.bytes 被设为1GB,那么这个主题最多可以保留 8GB 的数据。所 以,当主题的分区个数增加时,整个主题可以保留的数据也随之增加。

4、log.segment.bytes

分区的日志存放在某个目录下诸多文件中,这些文件将分区的日志切分成一段一段的,我们称为日志片段。 消息会被追加到分区的当前日志片段中,当日志片段达到log.segment.bytes设置的大小时,当前日志片段会被关闭,新的日志片段会被开启,这个参数值越小,就会越频繁地关闭和分配新文件,从
而降低磁盘写入的整体效率。

5、log.retention.ms

该参数指定了多长时间后日志文件会被关闭,默认情况下,该值无默认值

6、message.max.bytes

broker通过设置该参数的值来限制单条消息的大小,默认为1000000,即1M,注意该大小指的是压缩后的值,只要压缩后的值小于参数设置的值,实际值可以远大于该参数的设置。
这个值对性能有显著的影响。值越大,那么负责处理网络连接和请求的线程就需要花越多的时间来处理这些请求。它还会增加磁盘写入块的大小,从而影响IO吞吐量。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐