kafka配置说明
Posted yangxuejun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kafka配置说明相关的知识,希望对你有一定的参考价值。
broker.id 唯一编号,每台不一样
host.name 本机host名称
num.network.threads 消息处理最大线程数,推荐cpu核数加1
num.io.threads 处理磁盘IO线程数,推荐cpu*2
socket.send.buffer.bytes=102400 #发送缓冲区buffer大小,数据不是一下子就发送的,先回存储 到缓冲区了到达一定的大小后在发送,能提高性能
socket.receive.buffer.bytes=102400 #kafka接收缓冲区大小,当数据到达一定大小后在序列化到磁 盘
socket.request.max.bytes=104857600 #这个参数是向kafka请求消息或者向kafka发送消息的请请求的最大数,这个值不能超过java的堆栈大小
log.dirs=/opt/apps/ecm/service/kafka/logs 日志路径
log.flush.interval.messages=10000 每10000条记录,刷数据到磁盘
log.flush.interval.ms=1000 每1000毫秒时间刷数据到磁盘
log.retention.hours=48 日志保留48小时
log.segment.bytes=1073741824 段文件配置1GB,有利于快速回收磁盘空间,重启kafka加载也会加快(如果文件过小,则文件数量比较多kafka启动时是单线程扫描目录(log.dir)下所有数据文件)
num.partitions=8 每个topic分区数
num.recovery.threads.per.data.dir=1 #用于在启动时,用于日志恢复的线程个数,默认是1.
num.replica.fetchers=1 配置多可以提高follower的I/O并发度,单位时间内leader持有更多请求,相应负载会增大,需要根据机器硬件资源做权衡
replica.fetch.min.bytes=1默认配置为1字节,否则读取消息不及时
replica.fetch.max.bytes= 5* 1024 * 1024 默认为1MB,这个值太小,5MB为宜,根据业务情况调整
replica.fetch.wait.max.msfollow拉取频率,频率过高,会导致cpu飙升,因为leader无数据同步,leader会积压大量无效请求情况,又因为0.8.2.x版本存在bug,定时器超时检查比较消耗CPU,使用者需要做好权衡
default.replication.factor=3 副本备份数,建议2-3
delete.topic.enable=true 启用删除topic命令
zookeeper.connect= zk连接配置
zookeeper.connection.timeout.ms=6000
以上是关于kafka配置说明的主要内容,如果未能解决你的问题,请参考以下文章
kafka深度研究之路-kafka和zookeeper 配置文件详细说明(来龙去脉)之zk配置