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秒)
相关推荐
一把年纪学编程12 分钟前
【牛马技巧】word统计每一段的字数接近“字数统计”
前端·数据库·word
极小狐17 分钟前
极狐GitLab 通用软件包存储库功能介绍
java·数据库·c#·gitlab·maven
钢铁男儿22 分钟前
C# 方法(可选参数)
数据库·mysql·c#
陆少枫42 分钟前
MySQL基础关键_013_常用 DBA 命令
数据库·mysql
赵渝强老师1 小时前
【赵渝强老师】在PostgreSQL中使用file_fdw访问外部文件系统
数据库·postgresql
智_永无止境1 小时前
Redis 8.0携新功能,重新开源
数据库·redis·开源
小马爱打代码1 小时前
面试题 - Kafka、RabbitMQ、RocketMQ如何选型?
kafka·rabbitmq·rocketmq
阿乾之铭2 小时前
Spring Boot 参数验证
java·数据库·mysql
Bruk.Liu2 小时前
Kafka、RabbitMQ 和 RocketMQ区别及上手难度
kafka·rabbitmq·rocketmq
唐人街都是苦瓜脸2 小时前
MySQL创建了一个索引表,如何来验证这个索引表是否使用了呢?
数据库·mysql