名称

说明

类型

默认值

有效值

重要性

zookeeper.connect

zookeeper集群的地址,

可以是多个,

多个之间用逗号分割

string

localhost:

2181

ip1

:port1

,ip2

:port2

zookeeper.connection.timeout.ms

客户端在建立通zookeeper

连接中的最大等待时间

int

null

6000

zookeeper.session.timeout.ms

ZooKeeper的session的超时

时间,如果在这段时间内没

有收到ZK的心跳,则会被认

为该Kafka server挂掉了。

如果把这个值设置得过低可

能被误认为挂掉,如果设置

得过高,如果真的挂了,则需

要很长时间才能被server得知

int

6000

zookeeper.sync.time.ms

一个ZK follower能落后leader

的时间

int

2000

listeners

监听列表(以逗号分隔 不同的

协议(如plaintext,trace,ssl、

不同的IP和端口)),hostname

如果设置为0.0.0.0则绑定所

有的网卡地址;如果hostname

为空则绑定默认的网卡。

如果

没有配置则默认为

java.net

.InetAddress

.getCanonicalHostName()

string

null

如:PLAINTEXT:

//myhost:

9092,

TRACE://:

9091

或 PLAINTEXT:

//0.0.0.0

:9092,

host.name

。如果设置了它,

会仅绑定这个

地址。

如果没有设置,则会

绑定所有

的网络接口,并提交

一个给ZK。

不推荐使用 只有当

listeners没

有设置时才有必要使用。

string

“’

如:

”localhost”

port

server用来接受

client连接的端口。

不推荐使用,使用

listeners配置

项代替;只有在

listeners没有

配置时才使用。

int

9092

advertised.host.name

会将hostname通知给

生产者

和消费者,在多网卡

时需要

设置该值为另一个ip地址。

如果没有设置该值,

则返回

配置项host.name设置的值,

如果host.name没有设

置则返回java.net.InetAddress.

getCanonicalHostName()

不推荐使用 只有当

advertised.listeners或

listeners没有设置时才

有必要使用。

string

null

advertised.listeners

设置不同于listeners配置

的监听列表即不同于

listeners设置的网卡地址

及端口;如果没有配置,

会使用listeners的值

string

null

advertised.port

分发这个端口给所有的

producer,consumer和

其他broker来建立连接

。如果此端口跟server

绑定的端口不同,

则才有必要设置。

不推荐使用 只有当

advertised.listeners

或listeners没有设置

时才有必要使用。

int

null

auto.create.topics.enable

是否允许自动创建topic。

如果设为true,那么

produce,consume

或者fetch metadata

一个不存在的topic时,

就会自动创建一个默认

replication factor和

partition number的topic。

boolean

true

background.threads

一些后台任务处理的

线程数,例如过期消

息文件的删除等,

一般情况下不需要去

做修改

int

10

broker.id

每一个broker在集群中

的唯一表示,要求是正数。

当该服务器的IP地址发

生改变时,broker.id没有

变化,则不会影响

consumers的消息情况。

int

-1

compression.type

指定topic的压缩类型。

除了支持’gzip’, ‘snappy’,

‘lz4’外,还支持

”uncompressed(不压缩)

”以及produce

r(由producer来指定)

string

producer

delete.topic.enable

是否启动删除topic。

如果设置为false,

你在删除topic的时

候无法删除,但是会打

上一个你将删除该topic

的标记,等到你修改这

一属性的值为true后重

新启动Kafka集群的时候

,集群自动将那些标记

删除的topic删除掉,对应

的log.dirs目录下的topic

目录和数据也会被删除。

而将这一属性设置为true之后,

你就能成功删除你想要

删除的topic了

boolean

false

auto.leader.rebalance.enable

一个后台线程会周期性

的自动尝试,为所有的

broker的每个partition

平衡leadership,使kafka

的leader均衡。

boolean

true

leader.imbalance.check.interval.seconds

检查leader是否均衡的

时间间隔(秒)

long

300

leader.imbalance.per.broker.percentage

每个broker允许的不平衡

的leader的百分比。

如果每个broker超过

了这个百分比,复制控

制器会重新平衡leadership。

int

10

log.flush.interval.messages

数据flush(sync)到硬盘

前之前累积的消息条数

,因为磁盘IO操作是一

个慢操作,但又是一个

”数据可靠性”的必要

手段,所以此参数的设置

,需要在”数据可靠性”

与”性能”之间做必要

的权衡.如果此值过大,

将会导致每次”fsync”

的时间较长

(IO阻塞),如果此值过

小,将会导致”fsync”的

次数较多,这也意味着

整体的client请求有一

定的延迟.物理server

故障,将会导致没有

fsync的消息丢失

long

9223372

0368547

75807

(此为一

个数字)

log.flush.interval.ms

当达到下面的时间

(ms)时,执行一次

强制的flush操作。

interval.ms和

interval.messages

无论哪个达到,

都会flush。

long

null

log.flush.offset.checkpoint.interval.ms

记录上次把log刷

到磁盘的时间点的

频率,用来日后的

recovery。通常

不需要改变

long

60000

log.flush.scheduler.interval.ms

检查是否需要固

化到硬盘的时间

间隔

long

92233720

3685477

5807

(此为一

个数字)

log.retention.bytes

topic每个分区的

最大文件大小,

一个topic的大小

限制 = 分区数*

log.retention.bytes。

-1没有大小限

log.retention.bytes和log.retention.minutes

任意一个达到要求,

都会执行删除,

会被topic创建时

的指定参数覆盖

loong

-1

log.retention.hours

日志保存时间,

默认为7天(168小时)

。超过这个时间会根

据policy处理数据。

bytes和minutes无论

哪个先达到都会触发

int

168

log.retention.minutes

数据存储的最大时间

超过这个时间会根据

log.cleanup.policy

设置的策略处理数

据,也就是消费端能

够多久去消费数据

log.retention.bytes和log.retention.minutes任意一个达到要求,都会执行删除,会被topic创建时的指定参数覆盖

int

null

log.roll.hous

当达到下面时间,

会强制新建一个segment。

这个参数会在日志

segment没有达到

log.segment.bytes

设置的大小,也会强制

新建一个segment会

int

168

log.roll.jitter.{ms,hours}

从logRollTimeMillis抽

离的jitter最大数目

int

0

log.segment.bytes

topic partition的日志存

放在某个目录下诸多

文件中,这些文件将

partition的日志切分成

一段一段的;这个属性就

是每个文件的最大尺寸;

当尺寸达到这个数值时,

就会创建新文件。

此设置可以由每个topic

基础设置时进行覆盖

long

1G=

1024*

1024*

1024

log.segment.delet.delay.ms

删除文件系统上文件

的等待时间,默认是

1分钟

long

6000

message.max.bytes

表示一个服务器能够

接收处理的消息的最

大字节数,注意这个

值producer和consumer

必须设置一致,且不要大于fetch.message.max.bytes

属性的值该值默认是

1000012字节,大概900KB

int

1000012

min.insync.replicas

该属性规定了最小的

ISR数。当producer设置request.required.acks

为all或-1时,指定副

本(replicas)的最小数目

(必须确认每一个repica

的写数据都是成功的),

如果这个数目没有达到,

producer会产生异常。

int

1

num.io.threads

服务器用来处理请求

的I/O线程的数目;

这个线程数目至少要

等于硬盘的个数。

int

8

num.network.threads

服务器用来处理网络

请求的网络线程数目;

一般你不需要更改这

个属性

int

3

num.recovery.threads.per.data.dir

每数据目录用于日志

恢复启动和关闭冲洗

时的线程数量

int

1

num.replica.fetchers

从leader进行复制

消息的线程数,增大这个

数值会增加follower的IO

int

1

offset.metadata.max.bytes

允许client(消费者)保存

它们元数据(offset)的

最大的数据量

int

4096(4kb)

offsets.commit.required.acks

在offset commit可以接

受之前,需要设置确认的

数目,一般不需要更改

int

-1

offsets.commit.timeout.ms

offset commit会延迟

直至此超时或所需的

副本数都收到offset

commit,

这类似于producer请

求的超时

int

5000

offsets.load.buffer.size

此设置对应于offset

manager在读取缓存

offset segment的批量

大小(以字节为单位).

int

5242880

offsets.retention.check.interval.ms

offset管理器检查陈

旧offsets的频率

long

600000

(10分钟)

offsets.topic.num.partitions

偏移的提交topic的分

区数目。 由于目前不

支持部署之后改变,

我们建议您使用生产

较高的设置

(例如,100-200)

int

50

offsets.topic.replication.factor

复制因子的offset提交topic。

较高的设置

(例如三个或四个),

建议以确保更高的

可用性。如果offset topic

创建时,broker比

复制因子少,

offset topic将以较

少的副本创建。

short

3

offsets.topic.segment.bytes

offset topic的Segment

大小。因为它使用

压缩的topic,所有

Sgment的大小应该

保持小一点,以促进更

快的日志压实和负载

int

104857600

queued.max.requests

在网络线程

(network threads)

停止读取新请求之前,

可以排队等待I/O线程

处理的最大请求个数。

若是等待IO的请求超

过这个数值,那么会

停止接受外部消息

int

500

quota.consumer.default

以clientid或

consumer group区分

的consumer端每秒

可以抓取的最大byte

long

92233720

36854775

807

(此为一

个数字)

quota.producer.default

producer端每秒可

以产生的最大byte

long

92233720

3685477

5807

(此为一

个数字)

replica.fetch.max.bytes

replicas每次获取数

据的最大字节数

int

1048576

replica.fetch.min.bytes

fetch的最小数据尺寸,

如果leader中尚未同步

的数据不足此值,将会

阻塞,直到满足条件

int

1

replica.fetch.wait.max.ms

replicas同leader之间

通信的最大等待时间,

失败了会重试。这个值

须小于

replica.lag.time.max.ms,

以防止低吞吐量

主题ISR频繁收缩

int

500

replica.high.watermark.checkpoint.interval.ms

每一个replica存储自己

的high watermark到磁

盘的频率,用来日后

的recovery

int

5000

replica.socket.timeout.ms

复制数据过程中,

replica发送给leader的

网络请求的socket超

时时间,至少等于

replica.fetch.wait.max.ms

int

30000

replica.socket.receive.buffer.bytes

复制过程leader接

受请求的buffer大小

int

65536

(64*1024)

replica.lag.time.max.ms

replicas响应partition leader

的最长等待时间,

若是超过这个时间,

就将replicas列入

ISR(in-sync replicas),

并认为它是死的,

不会再加入管理中

long

10000

replica.lag.max.messages

如果follower落后与

leader太多,将会认

为此follower

[或者说partition relicas]

已经失效。 通常,在

follower与leader通讯时,

因为网络延迟或者链

接断开,

总会导致replicas中消息

同步滞后如果消息之

后太多,leader将认为

此follower网络延迟

较大或者消息吞吐

能力有限,将会把此

replicas迁移到其他

follower中.在broker数

量较少,或者网络不足

的环境中,建议提高此值.

int

4000

request.timeout.ms

producer等待响应的

最长时间,如果超时

将重发几次,最终报错

int

30000

socket.receive.buffer.bytes

socket用于接收网

络请求的缓存大小

int

102400

socket.request.max.bytes

server能接受的请求

的最大的大小,

这是为了防止server

跑光内存,不能大

于Java堆的大小。

int

104857600

(100*1024

*1024)

(此为一

个表达式)

socket.send.buffer.bytes

server端用来处理

socket连接的

SO_SNDBUFF缓冲大小

int

102400

controller.socket.timeout.ms

partition管理控制

器进行备份时,

socket的超时时间

int

30000

controller.message.queue.size

partition leader与

replicas数据同步时,

消息的队列大小

int

10

num.partitions

每个topic的分区个数,

若是在topic创建时候

没有指定的话会被

topic创建时的指定

参数覆盖

int

1

推荐

设为8

log.index.interval.bytes

当执行一次fetch后,

需要一定的空间扫描

最近的offset,设置的

越大越好,但是也更耗

内存一般使用默认值就可以

int

4096

log.index.size.max.bytes

每个log segment的

最大尺寸。注意,

如果log尺寸达到这

个数值,即使尺寸

没有超过log.segment.bytes

限制,也需要产生新的

log segment。

int

10485760

fetch.purgatory.purge.interval.requests

非立即答复请求放入

purgatory中,

当到达或超出interval

时认为request complete

int

1000

producer.purgatory.purge.interval.requests

producer请求清除时间

int

1000

default.replication.factor

一个topic ,默认分区

的replication个数 ,

不能大于集群中

broker的个数。

int

1

group.max.session.timeout.ms

注册consumer允许

的最大超时时间

int

300000

group.min.session.timeout.ms

注册consumer允许

的最小超时时间

int

6000

inter.broker.protocol.version

broker协议版本

string

0.10.0

log.cleaner.backoff.ms

检查log是否需要

clean的时间间隔

long

15000

log.cleaner.dedupe.buffer.size

日志压缩去重时候的

缓存空间,在空间允许

的情况下,越大越好

long

134217

728

log.cleaner.delete.retention.ms

保存时间;保存压缩

日志的最长时间;

也是客户端消费消息的

最长时间,

同log.retention.minutes

的区别在于一个控制未

压缩数据,一个控制压

缩后的数据;会被topic

创建时的指定时间覆盖。

long

86400000

(一天)

log.cleaner.enable

是否启动压缩日志,

当这个属性设置为false时

,一旦日志的保存时间或

者大小达到上限时,

就会被删除;

如果设置为true,

则当保存属性达到上限时,

就会进行压缩

boolean

false

log.cleaner.threads

日志压缩运行的线程数

int

1

log.cleaner.io.buffer.load.factor

日志清理中hash表的

扩大因子,一般不需

要修改

double

0.9

log.cleaner.io.buffer.size

log cleaner清除过程

中针对日志进行索引

化以及精简化所用到

的缓存大小。最好设置大

点,以提供充足的内存

int

524288

log.cleaner.io.max.bytes.per.second

进行log compaction时,

log cleaner可以拥有的

最大I/O数目。这项设置

限制了cleaner,以避免干

扰活动的请求服务。

double

1.79769313

48623157E308

(此为一

个数字)

log.cleaner.min.cleanable.ratio

这项配置控制

log compactor

试图清理日志的频率

(假定[log compaction]

是打开的)。

默认避免清理压缩超过

50%的日志。这个比率

绑定了备份日志所消耗

的最大空间(50%的

日志备份时压缩率为50%)。

更高的比率则意味着浪

费消耗更少,也就可

以更有效的清理更多

的空间。这项设置在

每个topic设置中可以覆盖

double

0.5

log.preallocate

是否预创建新文件,windows推荐使用

boolean

false

log.retention.check.interval.ms

检查日志分段文件的间隔时间,以确定是否文件属性是否到达删除要求。

long

300000

max.connections.per.ip

一个broker允许从每个ip地址连接的最大数目

int

2147483647

=Int.

MaxValue

max.connections.per.ip.overrides

每个IP或主机名覆盖连接的默认最大数量

string

“”

replica.fetch.backoff.ms

复制数据时失败等待时间

int

1000

reserved.broker.max.id

broker可以使用的最大ID值

int

1000

kafka0.9 java commit_kafka0.9.0及0.10.0配置属性相关推荐

  1. spark集群环境下Lost task 0.0 in stage 10.0 (TID 17, 10.28.23.202): java.io.FileNotFoundException

    spark从当前目录加载文件报错,Lost task 0.0 in stage 10.0 (TID 17, 10.28.23.202): java.io.FileNotFoundException,明 ...

  2. pytorch环境安装(配置:CUDA11.1+CUDNN11.1+torch.9.0+cu111+torchvision0.10.0+cu111+torchaudio==0.9.0)

    文章目录 1.下载CUDA 2 .下载CUDNN 3.CUDA安装 4.安装CUDNN 5.下载pytorch 6.安装pytorch 本文的显卡是 NVIDIA GeForce RTX 3060 L ...

  3. Finereport 9.0升级到10.0工具下载[9-10升级工具]

    QQ192374926 1. 描述 现提供一个独立的辅助升级程序,可以将 9.0 的 Web 工程升级到 10.0 工程,包括 JAR 包.各类配置文件.FineDB 数据表等的兼容升级. 注:支持 ...

  4. ubuntu18.04安装pytorch1.9.0和torchvision0.10.0

    一.利用anaconda创建自己的虚拟环境: 创建新的环境,命令为:conda create -n 虚拟环境名称 python版本 图中所示,创建的虚拟环境名称为pytorch1.9,python版本 ...

  5. Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko

    Trident (又称为MSHTML),是微软的窗口操作系统(Windows)搭载的网页浏览器-Internet Explorer的排版引擎的名称. 它的第一个版本随着1997年10月Internet ...

  6. Android应用安装apk版本升级,适配Android 8.0和Android 10.0下载安装,shell命令安装APK

    shell命令安装 /*** 安装apk** @param path apk文件路径*/ public void installAPK(String path) {Log.i(TAG, "i ...

  7. 程序员快放弃 Android 9.0 吧,10.0 正在来的路上!

    本文经授权转自终端研发部(ID:codeGoogler) 目前,美国 Google公司的 AndroidP (安卓9.0),已经正式全面推出有几个多月了.众多手机品牌厂商也都在积极的进行更新适配 An ...

  8. phpstorm10.0.0破解(10.0.2已失效)

    使用License服务器破解在License server填http://idea.lanyus.com/ (10.0.2继续有效) 但是每次启动ide的时候都会去License服务器去进行验证 如果 ...

  9. Kinect1代+KinectSDK1.8+OpenNI2.2+NITE2.0+Opencv2.4.10环境配置(2)

    昨天安装好了NITE2.0和OpenNI2.2并成功运行示例程序之后以为已经彻底完工,今天准备开始着手深度图像与彩色图像的对齐,然后一脸懵逼的发现..嗯,图像貌似没法显示( ̄口 ̄),苦酒入喉心作痛,然 ...

最新文章

  1. 国内大数据开发中比较受欢迎的几款工具
  2. Scala学习(二)--- 控制结构和函数
  3. 无代码iVX编程实现简单跳跃超级玛丽游戏
  4. MATLAB学习笔记(五)
  5. 开源方案搭建可离线的精美矢量切片地图服务-5.Mapbox离线项目实现
  6. 2、根据@FeignClient生成代理类
  7. linux输出变量的类型名称,Python 变量类型
  8. jQuery表格排序组件-tablesorter
  9. OpenDDS 配置文件详解
  10. [改造]微信缩放字体view的改造
  11. 入门STM32--怎么学习STM32
  12. b类 蚂蚁金服_终于拿到蚂蚁金服Offer!!!分享一下全程面试题和面试经验!...
  13. 悟空互动:如何让百度更快的收录网站,试试快速收录提交入口!
  14. 8种隔夜食物千万不要吃
  15. VMware虚拟机不能识别U盘
  16. 深入浅出理解 MyBatis-Plus(最新版3.5.2)
  17. NOIP模拟 葫芦(分数规划)
  18. 根据SNP的位置从基因组提取上下游序列
  19. vue 首屏优化加载(三)(CND引用)
  20. 分享一篇父母对孩子教育方法的文章

热门文章

  1. 经典!MATLAB线性等分linspace()函数,精确等分点数
  2. 从无到有算法养成篇-链式存储结构之循环链表
  3. MATLAB table数据结构 再篇
  4. 如何利用弹幕,打造出非凡的观看体验
  5. 用Tableau画可调整的树状图(Tree Diagram)
  6. 强化学习(三)用动态规划(DP)求解
  7. BI工具和数据中台有什么区别?数据中台初探
  8. hadoop学习--数据排序
  9. 【算法数据结构Java实现】欧几里得算法
  10. 【Cocosd2d实例教程三】Cocos2d瓦片地图的导入