【Kafka】Kafka配置参数详解

Kafka配置参数详解

  • Kafka得安装与基本命令
  • Kafka配置参数
  • kafka生产者配置参数
  • 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.minuteslog.retention.hours:每个日志文件删除之前保存的时间。默认数据保存时间对所有topic都一样。

  • log.retention.minuteslog.retention.bytes都是用来设置删除日志文件的,无论哪个属性已经溢出。这个属性设置可以在topic基本设置时进行覆盖。

  • log.retention.bytes:每个topic下每个partition保存数据的总量。
    注意:这是每个partitions的上限,因此这个数值乘以partitions的个数就是每个topic保存的数据总量。如果log.retention.hourslog.retention.bytes都设置了,则超过了任何一个限制都会造成删除一个段文件。
    注意,这项设置可以由每个topic设置时进行覆盖。

  • log.retention.check.interval.ms:检查日志分段文件的间隔时间,以确定是否文件属性是否到达删除要求。默认5min

你可能感兴趣的:(Kafka,kafka,分布式,big,data)