配置kafka/config下的server.properties
broker.id=0 num.network.threads=2 num.io.threads=8 socket.send.buffer.bytes=1048576 socket.receive.buffer.bytes=1048576 socket.request.max.bytes=104857600 log.dirs=/tmp/kafka-logs num.partitions=2 log.retention.hours=168 log.segment.bytes=536870912 log.retention.check.interval.ms=60000 log.cleaner.enable=false zookeeper.connect=localhost:2181 zookeeper.connection.timeout.ms=1000000
2、其他属性
###Server Basics### #broker的主机IP地址,一般不设置 host.name= #broker服务端口,生产者和消费者再此端口建立连接 port =端口 #broker在集群中的唯一标识,正数 broker.id=1 #后台任务处理的线程数 background.threads=4 #请求队列最大数量 queued.max.requests=500 ###Socket Server Settings### #处理消息的最大线程数,一般情况下数量为cpu核数 num.network.threads=3 #处理磁盘IO的线程数,数值为cpu核数2倍 num.io.threads=8 #发送缓冲区 socket.send.buffer.bytes=1000*1024 #接收缓冲区 socket.receive.buffer.bytes=1000*1024 #请求的最大数值 socket.request.max.bytes=104857600 ###Log Basics### #kafka数据的存放位置,多个用逗号分隔; log.dirs=/kafka/logs #每个数据目录的线程数,用于启动时的日志恢复和关闭时的刷新 num.recovery.threads.per.data.dir=1 ###Log Retention Policy### #是否开启清理 log.cleaner.enable=false #清理运行的线程数 log.cleaner.threads = 2 #清理时每秒处理的字节数 log.cleaner.io.max.bytes.per.second=None #segment即使没有达到log.segment.bytes设置的大小, #也会强制新建一个segment log.roll.hours =24*7 #数据文件保留多长时间 log.retention.minutes=3000 #或者 log.retention.hours=50 #清理策略:delete或者compact log.cleanup.policy = delete #topic每个分区的最大文件大小,-1没有大小限制 log.retention.bytes=-1 #消息体的最大字节,小于socket.request.max.bytes message.max.bytes=5242880 #自动创建topic时的默认副本的个数 default.replication.factor=3 #为每个分区设置获取的消息的字节数 replica.fetch.max.bytes=104857600 #topic的分区是以segment文件存储的,这个控制每个segment的大小 log.segment.bytes=1073741824 #文件大小检查的周期时间 log.retention.check.interval.ms=300000 #清理时候用到的IO缓存大小,一般不需要修改 log.cleaner.io.buffer.size=512*1024 #清理中hash表的扩大因子,一般不需要修改 log.cleaner.io.buffer.load.factor =0.9 #检查是否触发清理 log.cleaner.backoff.ms =15000 #清理频率,越大意味着更高效的清理,但浪费空间 log.cleaner.min.cleanable.ratio=0.5 #压缩信息保留的最长时间,也是客户端消费消息的最长时间 log.cleaner.delete.retention.ms =24*60*60*1000 #segment索引文件大小 log.index.size.max.bytes =10*1024*1024 #fetch操作,需要空间来扫描offset值,值越大扫描速度越快,但浪费空间 log.index.interval.bytes =4096 #partiton缓存,每当消息记录数达到1000时flush一次数据到磁盘 log.flush.interval.messages=1000 #检查数据是否要写入到硬盘的时间间隔 log.flush.scheduler.interval.ms =3000 /*如果消息量始终没有达到阀值,但是离上一次磁盘同步的时间间隔达到阀值,也将触发表示每间隔1000毫秒flush一次数据到磁盘*/ log.flush.interval.ms=1000 #文件在索引中清除后保留的时间一般不需要去修改 log.delete.delay.ms =60000 #控制上次flush到硬盘的时间点,以便于数据恢复一般不需要去修改 log.flush.offset.checkpoint.interval.ms =60000 ###Internal Topic Settings### #是否允许自动创建topic,若是false,就需要通过命令创建topic auto.create.topics.enable =true #每个topic的分区个数 num.partitions=3 #topic的offset的备份数,建议3、4个 offsets.topic.replication.factor=3 #事物备份数,建议3、4个 transaction.state.log.replication.factor=3 #事务重写备份数,建议3、4个 transaction.state.log.min.isr=3 ###Zookeeper### #zookeeper集群的地址 zookeeper.connect=IP1:端口,IP2:端口,IP3:端口... #zookeeper的连接超时时间 zookeeper.connection.timeout.ms =6000 #zookeeper的心跳间隔,不易过大 zookeeper.session.timeout.ms=6000 #zookeeper集群中leader和follower之间的同步时间 zookeeper.sync.time.ms =2000
###Group Coordinator Settings### /*在进行第一次重新平衡之前,group协调员将等待更多消费者加入group的时间,延迟时间越长意味着重新平衡的可能性越小,但是等待处理开始的时间增加*/ group.initial.rebalance.delay.ms=3000
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)