一、Broker相关配置

# broker ID, 集群模式下该ID必须唯一,且永恒不变。每启动一个Kafka Server加入Kafka集群,该id必须且只能+1,否则会报错id不在指定范围之内
broker.id=0
# kafka Server端启动端口,如果是同一台机器启动多个Kafka Server,则需要改此端口号。注意:如果这里的localhost不写明IP(PLAINTEXT://:9092),则默认使用内网IP,例:192.168.2.61
listeners=PLAINTEXT://localhost:9092
# kafka的消息存储文件。最少使用原则,当一个分区放在多台服务器或者多个路径下时,哪个服务器拥有最少数据分区的优先。所以一个分区会放在同一个路径下面
log.dirs=/tmp/kafka-logs,/directory2,/directory3
# 当启动或关闭kafka时,日志需要启动或者恢复的时候的线程数量,默认1,这个值可以适当改大一点。注意:这里的启动总线程数 = 此值 * log.dirs目录树,比如log.dirs目录配置了4个,此值是8,则总线程数=32
num.recovery.threads.per.data.dir=8 
# 处理网络请求的最大线程数
num.network.threads=2
# 处理磁盘I/O的线程数
num.io.threads=8
# 一些后台线程数
background.threads=4
# 等待IO线程处理的请求队列最大数
queued.max.requests=500
# socket的发送缓冲区,默认100KB
socket.send.buffer.bytes=102400
# socket的接收缓冲区,默认100KB
socket.receive.buffer.bytes=102400
# socket请求的最大字节数,默认100MB
socket.request.max.bytes=104857600

二、Topic相关配置

# 每个topic的分区个数,更多的partition会产生更多的segment file
num.partitions=2
# 是否允许自动创建topic,若是false,就需要通过命令创建topic
auto.create.topics.enable=true
# 一个topic默认分区的replication个数,不能大于集群中broker的个数。
default.replication.factor=1
# 消息体的最大大小,单位是字节
message.max.bytes=1000000

三、zookeeper相关配置

# Zookeeper连接设置。如果有多个使用逗号分割
zookeeper.connect=debugo01:2181,debugo02,debugo03
# 连接zk的超时时间
zookeeper.connection.timeout.ms=1000000
# ZooKeeper集群中leader和follower之间的同步时间
zookeeper.sync.time.ms=2000

四、日志相关配置

# 日志清理策略(delete|compact)
log.cleanup.policy = delete
# 检查是否需要将日志flush的时间间隔
log.flush.scheduler.interval.ms = 3000
# 日志保存时间 (hours|minutes),默认为7天(168小时)
log.retention.hours=168
# 每个分区的最大文件大小,默认1GB
log.retention.bytes=1073741824
# 控制日志segment文件的大小,超出该大小则追加到一个新的日志segment文件中(-1表示没有限制)
log.segment.bytes=1073741824
# 当达到下面时间,会强制新建一个segment文件
log.roll.hours = 24*7
# 日志片段文件的检查周期,查看它们是否达到了删除策略的设置
log.retention.check.interval.ms=300000
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐