【Kafka】Broker之Server.properties的重要参数说明

名称描述类型默认值有效值区间重要程度
zookeeper.connectzk地址string
advertised.host.name过时的:只有当advertised.listeners或listeners没有配置的时候才会生效。使用advertised.listeners代替。发布在zk上的hostname,供客户端使用。在IaaS环境下,该值需要与broker绑定的接口不一样。如果该值没有配置,会使用配置的host.name。否则会使用java.net.InetAddress.getCanonicalHostName()返回的数据。stringnull
advertised.listeners发布在zk上的监听器,供客户端使用,如果与其他的监听器不一样的话。在Iaas环境下,该值需要与broker绑定的接口不一致。如果没有配置,会使用listener的值。stringnull
advertised.port过时的:只有当advertised.listeners或listeners没有配置时会生效。可以使用advertised.listeners代替。发布在zk上的端口,供客户端使用。在Iaas环境下,需要与broker绑定的接口不一样。如果未配置,会发布与broker绑定的一样的接口。intnull
auto.create.topics.enable允许在服务器上自动创建主题(topic)booleantrue
auto.leader.rebalance.enable允许自动主平衡。后台线程定时校验和触发主平衡。booleantrue
background.threads后台处理任务的线程数int10[1...]
broker.id服务器的broker编号。如果不配置,会自动生成唯一的id。为了避免zk生成的broker编码和用户配置编码的冲突,生成的broker编码从reserved.broker.max.id + 1开始。int-1
compression.type指定一个主题最后的压缩类型。这个配置项接收标准的压缩编码(gzip,snappy,lz4)。还可以配置为uncompressed,表示不压缩。也可以配置为producer,表示与生产者配置的压缩类型一致。stringproducer
delete.topic.enable可以删除主题。如果设置为关闭,那么通过管理工具删除主题是无效的。booleanfalse
host.name过时的:只有当listeners没有配置时才会生效。使用listeners来代替。broker的主机名称。如果配置该项,broker只会绑定到这个地址,如果不配置,会绑定所有接口。string""
leader.imbalance.check.interval.seconds控制器触发分区调整校验的频率。long300
leader.imbalance.per.broker.percentage每个broker允许的不平衡的leader的比率。如果每个broker超过了这个值,控制器会触发leader的平衡。这个值表示百分比。int10
listeners监听器列表-逗号隔开,包含协议和链接。如果想绑定到所有的接口,需要把主机名设置为0.0.0.0。如果要绑定到特定的接口,主机名为空。示例:PLAINTEXT://myhost:9092,TRACE://:9091或者PLAINTEXT://0.0.0.0:9092, TRACE://localhost:9093stringnull
log.dir日志数据存储的目录(log.dirs属性的补充)string/tmp/kafka-logs
log.dirs日志文件存储的目录,如果不配置,则使用log.dir。stringnull
log.flush.interval.messages在消息刷到磁盘之前,日志分区收集的消息数量long9223372036854775807
log.flush.interval.ms主题中消息在刷到磁盘之前,保存在内存中的最长时间,单位是ms,如果不配置,使用log.flush.scheduler.interval.ms的配置longnull
log.flush.offset.checkpoint.interval.ms更新上次刷磁盘的记录的频率,可以作为日志恢复点int60000[0...]
log.flush.scheduler.interval.ms单位为毫秒,日志刷新器检查日志是否需要刷到磁盘的频率long9223372036854775807
log.retention.bytes日志被删除前最大量long-1
log.retention.hours日志保留的最大小时数,log.retention.ms的第三位int168
log.retention.minutes日志文件保留的分钟数,log.retention.ms的第二位,如果不配,使用log.retention.hoursintnull
log.retention.ms日志文件保留的毫秒数,如果不配,使用log.retention.minuteslongnull
log.roll.hours即使文件没有到达log.segment.bytes,只要文件创建时间到达此属性,就会创建新文件。int168[1...]
log.roll.jitter.hours指定日志切分段的小时数,避免日志切分时造成惊群int0[0...]
log.roll.jitter.ms指定日志切分段的毫秒数,如果不设置,默认使用log.roll.jitter.hourslongnull
log.roll.ms数据文件切分的时间间隔,与大小限制同时起作用的longnull
log.segment.bytes数据文件大小int1073741824[14...]
log.segment.delete.delay.ms保存已删除日志的时间long60000[0...]
message.max.bytes表示log中能够容纳消息的最大字节数int1000012[0,...]
min.insync.replicas该属性规定了最小的ISR数int1[1,...]
num.io.threads执行磁盘IO的线程数int8[1,...]
num.network.threads处理网络请求的线程数int3[1,...]
num.recovery.threads.per.data.dir启停时做日志恢复每个目录所需的线程数,采用RAID的时候可以增大该值int1[1,...]
num.replica.fetchers从leader备份数据的线程数。该值越大,从broker的IO同步能力越强。int1
offset.metadata.max.bytes客户端保留offset信息的最大空间大小int4096
offsets.commit.required.acks在offset commit可以接受之前,需要设置确认的数目,一般不需要更改short-1
offsets.commit.timeout.ms只有所有replicas收到提交或者达到这个超时值,否则偏移量提交延迟。int5000[1,...]
offsets.load.buffer.size将偏移量加载到缓存中时,从偏移量区读取的大小限制。int5242880[1,...]
offsets.retention.check.interval.ms检查旧的偏移量的频率,单位是毫秒long600000[1,...]
offsets.retention.minutes偏移量主题的日志保留窗口,单位是分钟int1440[1,...]
offsets.topic.compression.codec偏移量主题的压缩编码,压缩可以用于原子提交int0
offsets.topic.num.partitions偏移量提交主题的分区数量(部署后不应该修改)int50[1,...]
offsets.topic.replication.factor偏移量主题的复制因子(尽量设置高点,保证可用性)。为了确保偏移量主题的有效复制因子是配置的值,活跃kafka集群的数量至少是第一次请求偏移量时的复制因子。如果不是,要么创建偏移量主题会失败,要么会获得一个最小量(活跃集群,配置的复制因子)short3[1,...]
offsets.topic.segment.bytes偏移量主题的分区大小应该设置相对小,为了保证更快的日志压缩和缓存加载int104857600[1,...]
port过时的:只有当listener没有配置时才会生效,是指监听和获取连接的端口。int9092
queued.max.requests加入队列的最大请求数(超过该值,network thread阻塞)int500[1,...]
quota.consumer.default如果不同的消费者的每秒消费速度超过了这个值,就会被控制速度。long9223372036854775807[1,...]
quota.producer.default如果任何生产者的生产速度超过了这个值,就会被控制速率。long9223372036854775807[1,...]
replica.fetch.max.bytes一次性获取的消息数量的最大限制int1048576
replica.fetch.min.bytes一次性获取的消息数量的最小值,如果达不到这个值,需要等待最多replicaMaxWaitTimeMsint1
replica.fetch.wait.max.ms每个消费请求的最大等待时间,这个值应该总是小于replica.lag.time.max.ms,以防止因为低吞吐量的主题,导致的频繁减少ISR的数量int500
replica.high.watermark.checkpoint.interval.ms每个replica检查是否将最高水位进行固化的频率long5000
replica.lag.time.max.ms如果一个follower在这个时间内没有发送fetch请求,leader将从ISR重移除这个follower,并认为这个follower已经挂了long10000
replica.socket.receive.buffer.bytes备份时向leader发送网络请求时的socket receive bufferint65536
replica.socket.timeout.ms网络连接超时。这个值应该至少为replica.fetch.wait.max.msint30000
request.timeout.ms这个配置控制客户端等待响应的最大时间。如果在规定时间内没有响应,客户端会根据需要重新发起请求。如果超过了重试次数,客户端会将这次请求置为失败。int30000
socket.receive.buffer.bytessocket用于接收网络请求的缓存大小int102400
socket.request.max.bytesserver允许的最大请求尺寸; 这将避免server溢出,它应该小于Java heap sizeint104857600[1,...]
socket.send.buffer.bytesSO_SNDBUFF 缓存大小,server进行socket 连接所用int102400
unclean.leader.election.enable指明了是否能够使不在ISR中replicas设置用来作为leader,尽管这么做可能会导致数据丢失booleantrue
zookeeper.connection.timeout.ms客户端等待连接到zk的最大时间。如果不设置,系统默认使用zookeeper.session.timeout.msintnull
zookeeper.session.timeout.mszk的session超时时间int6000
zookeeper.set.acl设置客户端使用zk的安全策略ACLsbooleanfalse
broker.id.generation.enable是否启用集群机器id自动生成?如果启用,会检查配置的reserved.broker.max.idbooleantrue

转载于:https://www.cnblogs.com/f-zhao/p/7442800.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值