kafka-保姆级配置说明(broker)

一. important

##broker ID,cluster唯一标识,数字类型

##此值可以不指定,有集群自动创建(由当前集群现有的brokerID + 1)。

##默认值为-1

broker.id=5

#broker.id.generation.enable=true

##zookeeper连接地址

zookeeper.connect=10.0.3.70:2181,10.0.3.71:2181,10.0.4.70:2181/kafka

zookeeper.connection.timeout.ms=6000

zookeeper.session.timeout.ms=6000

##broker绑定的ip和端口

##不能与host.name同时配置

listeners=PLAINTEXT://10.0.3.79:9092

port=9092

##broker数据文件保存的目录,建议数据目录使用单独的高性能磁盘驱动

##默认值为:/tmp/kafka-logs

log.dir=/data/kafka

##自动创建的topics所具有的replication个数

default.replication.factor=2

##每个topic默认的partion个数,默认值为1

##建议此值有producer自主决定,因为涉及到partition sharding的设置

num.partitions=1

二. topics:

##[topics]

##后台线程的个数,后台线程用于leader平衡、consumer活性检测

##日志文件切分或回收等

##默认为10

background.threads=10

##设置指定topic的数据压缩类型,

##允许值"producer"、"gzip"、"snappy"、"lz4"

##"producer"值表示压缩算法由producer端指定

##默认值为"producer"

compression.type=producer

##是否允许删除topic

##无论是否关闭,我们总是可以使用admin工具删除topic

delete.topic.enable=false

##是否允许自动创建topic,如果producer端指定的topic尚未被创建时。

##基于admin管控,可以设置为false。

##默认为true

auto.create.topics.enable=true

##是否开启partition leaders自动rebalance机制

##后台线程将会间歇性的检测并适时触发"rebalance"

##默认为true

auto.leader.rebalance.enable=true

##controller检测partition均衡性的频率,单位秒

##默认值为300

leader.imbalance.check.interval.seconds=300

##允许每个broker上失衡leader的占比。

##如果某个broker失衡leader的占比超过此值,controller将会触发rebalance。

##默认为10,百分比

leader.imbalance.per.broker.percentage=10

##是否开启将不在ISR列表的replicas选举为leader,这是最后的手段(即ISR列表中的replicas都已不可达)

##尽管这样可能会导致数据丢失。

unclean.leader.election.enable=true

##consumers的会话过期时间:

##超时后将会认为此cusumers已下线,其上相应的partiton消费将会转发给此group的其他consumers

group.max.session.timeout.ms=30000

三. logs:

##[log]

##log partition上累积N条消息后进行磁盘刷新

##默认值为:9223372036854775807

##默认情况下,磁盘文件刷新时机由OS确定,broker不主动刷盘

#log.flush.interval.messages=100000

##topic中消息刷盘的时间间隔,在此之前,消息将会保存在内存中

##如果不设置此值,将会有"log.flush.scheduler.interval.ms"值决定。

##默认值:null

#log.flush.interval.ms=1000

##默认值:9223372036854775807

#log.flush.scheduler.interval.ms=1000

##默认值:

log.flush.offset.checkpoint.interval.ms=60000

##log数据保留的最大尺寸,超过此值后,历史log数据将会被删除

##默认为-1,表示log数据"不按照尺寸"方式评估

log.retention.bytes=-1

##log数据保留的小时数,默认为168(一周)

log.retention.hours=168

##当没有logs需要清理时,后台线程sleep的时间

log.cleaner.backoff.ms=15000

##开启log清理

##如果不开启,log文件(数量、尺寸)将会一直增加,不会被删除

log.cleaner.enable=true

log.cleaner.threads=1

##日志清理的策略:delete、compact;默认值为delete

##delete:删除历史log文件

##compact:合并压缩,即将相同的key的消息进行compact,相同key的多条消息值保留最近一条。(非compression)

log.cleanup.policy=delete

##log超期(超尺寸)检测的时间间隔,以判断segment是否可以被删除(加入删除列表)

log.retention.check.interval.ms=300000

##log片段切分的时间间隔(roll),默认值为168

log.roll.hours=168

##单个log片段的大小,超过此值将会被roll,默认值为1G

log.segment.bytes=1073741824

##间隔多少字节后,在offset index文件中添加一个条目

##此值越小,index文件越大,根据offset定位log文件越快

##默认值为4096,此处调整为1M

log.index.interval.bytes=1048576

##offset index文件的最大尺寸,超出后将会roll out

##默认值10M

log.index.size.max.bytes=10485760

##log片段文件预分配,*linux系统不需要,window平台上建议开启。

log.preallocate=false

四. replicas:

##[replicas]

##当需要满足producer端"required.acks=-1"的请求时,

##ISR列表中replicas的最小个数。(in-sync replicas)

##默认值为1(即leader)

min.insync.replicas=1

##replicas从leader中同步(fetch)数据的线程数量,建议为1

##增加此值可以提高follower broker的并发度

num.replica.fetchers=1

replica.fetch.max.bytes=1048576

replica.fetch.wait.max.ms=500

##如果follower在此时间内没有发送任何fetch请求、或者不能与leaders跟进

##leader将会把此follower从ISR列表中移除。(直到此follower跟进为止)

replica.lag.time.max.ms=10000

##当follower fetch数据时遇到异常,等待的时间间隔(重试)

replica.fetch.backoff.ms=1000

##offset消息提交需要的acks,默认为-1(all),且决不能覆盖

##offset请求是一种特殊的请求,它必须在相应的partiton所在ISR列表中全部提交确认后

offsets.commit.required.acks=-1

##offset请求提交将会被delay,知道offset topic的所有replicas收到提交或者超时

##类似于producer端的请求超时。

offsets.commit.timeout.ms=5000

##offset topic的partitions个数,属于broker内部机制,建议不要调整此值

offsets.topic.num.partitions=50

offsets.topic.replication.factor=3

相关推荐
大秦王多鱼2 小时前
Kafka常见问题之 org.apache.kafka.common.errors.RecordTooLargeException
运维·分布式·kafka·apache
言之。5 小时前
Kafka 如何实现高性能
分布式·kafka
大秦王多鱼7 小时前
Kafka 消费端反复 Rebalance: `Attempt to heartbeat failed since group is rebalancing`
运维·分布式·kafka·apache
jimiStephen8 小时前
ZooKeeper-3.8.3-会话
linux·分布式·zookeeper
梦醒沉醉1 天前
单机伪分布Hadoop详细配置
大数据·hadoop·分布式
优人ovo1 天前
Kafka的消息协议
分布式·网络协议·kafka
言之。1 天前
【Spark速通】
大数据·分布式·spark
大秦王多鱼1 天前
Kafka常见问题之 `javax.management.InstanceAlreadyExistsException`
运维·分布式·kafka·apache
乙卯年QAQ2 天前
【Hadoop】Hadoop 概述
大数据·hadoop·分布式