Kafka配置参数详解
本篇文章只是做一个转载的作用以方便自己的阅读,文章主要转载于: Kafka核心配置参数与机制一文
版权声明:本文为CSDN博主「张行之」的原创文章,遵循CC 4.0 BY-SA版权协议
Kafka得安装与基本命令
可以点击链接: Kafka的安装与基本命令的使用
补充:若想了解Kafka的框架和运行原理,可以点击链接: Kafka的框架与运行原理
Kafka配置参数
-
broker.id:broker的id,id是唯一的非负整数,集群的broker.id不能重复。 -
log.dirs:kafka存放数据的路径。可以是多个,多个使用逗号分隔即可。
-
port:server接受客户端连接的端口,默认
6667 -
zookeeper.connect:zookeeper集群连接地址。
格式如:zookeeper.connect=server01:2181,server02:2181,server03:2181。如果需要指定zookeeper集群的路径位置zookeeper.connect=server01:2181,server02:2181,server03:2181/kafka/cluster。这样设置后,在启动kafka集群前,需要在zookeeper集群创建这个路径/kafka/cluster. -
message.max.bytes:server可以接受的消息最大尺寸。默认1000000。
重要的是,consumer和producer有关这个属性的设置必须同步,否则producer发布的消息对consumer来说太大。 -
num.network.threads:server用来处理网络请求的线程数,默认3。 -
num.io.threads:server:用来处理请求的I/O线程数。这个线程数至少等于磁盘的个数。 -
background.threads:用于后台处理的线程数。例如文件的删除。默认4。 -
queued.max.requests:在网络线程停止读取新请求之前,可以排队等待I/O线程处理的最大请求个数。默认500。 -
host.name:broker的hostname
如果hostname已经设置的话,broker将只会绑定到这个地址上;如果没有设置,它将绑定到所有接口,并发布一份到ZK -
advertised.host.name:如果设置,则就作为broker 的hostname发往producer、consumers以及其他brokers -
advertised.port:此端口将给与producers、consumers、以及其他brokers,它会在建立连接时用到; 它仅在实际端口和server需要绑定的端口不一样时才需要设置。 -
socket.send.buffer.bytes:SO_SNDBUFF 缓存大小,server进行socket 连接所用,默认100*1024。 -
socket.receive.buffer.bytes:SO_RCVBUFF缓存大小,server进行socket连接时所用。默认100 * 1024。 -
socket.request.max.bytes:server允许的最大请求尺寸;这将避免server溢出,它应该小于Java heap size。 -
num.partitions:如果创建topic时没有给出划分partitions个数,这个数字将是topic下partitions数目的默认数值。默认1。 -
log.segment.bytes:topic partition的日志存放在某个目录下诸多文件中,这些文件将partition的日志切分成一段一段的;这个属性就是每个文件的最大尺寸;当尺寸达到这个数值时,就会创建新文件。此设置可以由每个topic基础设置时进行覆盖。默认1014*1024*1024 -
log.roll.hours:即使文件没有到达log.segment.bytes,只要文件创建时间到达此属性,就会创建新文件。这个设置也可以有topic层面的设置进行覆盖。默认4*7 -
log.cleanup.policy:log清除策略。默认delete。 -
log.retention.minutes和log.retention.hours:每个日志文件删除之前保存的时间。默认数据保存时间对所有topic都一样。 -
log.retention.minutes和log.retention.bytes都是用来设置删除日志文件的,无论哪个属性已经溢出。这个属性设置可以在topic基本设置时进行覆盖。 -
log.retention.bytes:每个topic下每个partition保存数据的总量。
注意:这是每个partitions的上限,因此这个数值乘以partitions的个数就是每个topic保存的数据总量。如果log.retention.hours和log.retention.bytes都设置了,则超过了任何一个限制都会造成删除一个段文件。
注意,这项设置可以由每个topic设置时进行覆盖。 -
log.retention.check.interval.ms:检查日志分段文件的间隔时间,以确定是否文件属性是否到达删除要求。默认5min。

本文深入探讨了Kafka的配置参数,包括broker、生产者和消费者的配置。介绍了如broker.id、log.dirs、message.max.bytes等关键参数的作用,并讨论了如何优化设置以提升性能和可靠性。此外,还涵盖了Kafka的安装、基本命令以及日志清理策略。
最低0.47元/天 解锁文章
7万+

被折叠的 条评论
为什么被折叠?



