Kafka参数了解

Kafka配置参数完整说明

1. 基础配置

参数名 说明 推荐值 参考值
broker.id broker的唯一标识符 每个节点唯一的整数 1
delete.topic.enable 是否允许删除topic true true
listeners broker监听地址 SASL_PLAINTEXT://host:9092 SASL_PLAINTEXT://172.24.77.15:9092
advertised.listeners 对外发布的监听地址 SASL_PLAINTEXT://public_ip:9092 SASL_PLAINTEXT://172.24.77.15:9092
log.dirs 日志数据目录 /data/kafka/data /data/kafka/data
zookeeper.connect ZK连接字符串 host1:2181,host2:2181,host3:2181 172.24.77.10:2181,172.24.77.11:2181,172.24.77.12:2181

2. 安全配置

参数名 说明 推荐值 参考值
security.protocol 安全协议 SASL_PLAINTEXT SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol broker间通信认证机制 SCRAM-SHA-256 SCRAM-SHA-256
sasl.enabled.mechanisms 启用的认证机制 SCRAM-SHA-256,PLAIN SCRAM-SHA-256,PLAIN
allow.everyone.if.no.acl.found 无ACL时允许所有操作 false true(测试环境)
super.users 超级用户列表 User:admin User:super
authorizer.class.name 授权器类名 kafka.security.auth.SimpleAclAuthorizer kafka.security.auth.SimpleAclAuthorizer

3. 网络配置

参数名 说明 推荐值 参考值
num.network.threads 网络线程数 3-5 3
num.io.threads IO线程数 8 8
socket.send.buffer.bytes 发送缓冲区大小 10485760 (10MB) 102400 (100KB)
socket.receive.buffer.bytes 接收缓冲区大小 10485760 (10MB) 102400 (100KB)
socket.request.max.bytes 请求最大大小 104857600 (100MB) 104857600 (100MB)
replica.socket.receive.buffer.bytes 副本复制接收缓冲区 1048576 (1MB) 65536 (64KB)

4. 主题和分区配置

参数名 说明 推荐值 参考值
num.partitions 默认分区数 3 3
default.replication.factor 默认副本因子 3 3
min.insync.replicas 最小同步副本数 2 2
auto.create.topics.enable 是否自动创建主题 false true
offsets.topic.replication.factor offsets主题副本因子 3 3

5. 性能调优参数

参数名 说明 推荐值 参考值
num.replica.fetchers 副本拉取线程数 3 3
replica.fetch.max.bytes 副本拉取最大字节数 1048576 (1MB) 1048576 (1MB)
replica.lag.time.max.ms 副本最大延迟时间 5000 (5秒) 10000 (10秒)
replica.fetch.wait.max.ms 副本拉取最大等待时间 1000 (1秒) 1000 (1秒)
log.flush.interval.messages 刷盘消息数阈值 10000 10000
log.flush.interval.ms 刷盘时间间隔 1000 (1秒) 1000 (1秒)

6. 日志管理

参数名 说明 推荐值 参考值
log.retention.hours 日志保留时间 168 (7天) 168 (7天)
log.segment.bytes 日志片段大小 1073741824 (1GB) 1073741824 (1GB)
log.retention.check.interval.ms 日志清理检查间隔 300000 (5分钟) 300000 (5分钟)
log.cleanup.policy 日志清理策略 delete delete
log.message.timestamp.type 消息时间戳类型 LogAppendTime LogAppendTime

7. 事务和幂等性配置

参数名 说明 推荐值 参考值
transaction.state.log.replication.factor 事务主题副本因子 3 3
transaction.state.log.min.isr 事务主题最小ISR 2 2
unclean.leader.election.enable 是否允许非ISR副本成为leader false false

8. 其他配置

参数名 说明 推荐值 参考值
group.initial.rebalance.delay.ms 消费组初始重平衡延迟 3000 (3秒) 3000 (3秒)
broker.rack broker机架信息 rack1 kafka-rac1
message.max.bytes 消息最大大小 1000012 (≈1MB) 1000012 (≈1MB)
zookeeper.connection.timeout.ms ZK连接超时时间 18000 (18秒) 18000 (18秒)
zookeeper.session.timeout.ms ZK会话超时时间 18000 (18秒) 12000 (12秒)
相关推荐
RestCloud1 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
阿里云云原生2 小时前
嘉银科技基于阿里云 Kafka Serverless 提升业务弹性能力,节省成本超过 20%
kafka·serverless
得物技术4 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
可涵不会debug8 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom8 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试
麦兜*8 小时前
MongoDB Atlas 云数据库实战:从零搭建全球多节点集群
java·数据库·spring boot·mongodb·spring·spring cloud
Slaughter信仰8 小时前
深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)第十章知识点问答(10题)
java·jvm·数据库
麦兜*8 小时前
MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
java·数据库·spring boot·物联网·mongodb·spring
Aomnitrix8 小时前
知识管理新范式——cpolar+Wiki.js打造企业级分布式知识库
开发语言·javascript·分布式