kafka中broker、producer、consumer主要配置参数说明

一、broker主要配置

1.broker自身属性的配置
配置项 作用 类型 默认值 示例
broker.id broker在集群中的标识  整型 -1 1
listeners 监听的服务地址(多个用,隔开) String null PLAINTEXT://myhost:9092
2.连接的zookeeper相关配置
配置项 作用 类型 默认值 示例
zookeeper.connect 连接的zookeeper地址(多个地址用,隔开)  String null localhost:2181
zookeeper.connection.timeout.ms 连接zookeeper超时时间(毫秒) int null 3000
3.日志处理相关配置
配置项 作用 类型 默认值 示例
log.dirs 日志存放目录(有多个目录分布时使用,隔开)  String null /tmp/kafka-logs
log.dir 日志存放目录(当log.dirs为null时) String /tmp/kafka-logs /tmp/kafka-logs

更多配置请参考官方文档:http://kafka.apache.org/documentation/#configuration

二、producer主要配置

1.连接配置
配置项 作用 类型 默认值 示例
bootstrap.servers 连接的broker地址  String null localhost:9092
2.消息相关配置
配置项 作用 类型 默认值 示例
buffer.memory 消息缓冲区大小  long 33554432 33554432
key.serializer 指定消息的key的序列化类(需要实现Serializer接口) class null org.apache.kafka.common.serialization.StringSerializer
value.serializer 指定消息内容的序列化类(需要实现Serializer接口) class null org.apache.kafka.common.serialization.StringSerializer
delivery.timeout.ms 发送消息上报成功或失败的最大时间 int 120000 120000
batch.size 批量发送的最大容量 int 16384 16384
linger.ms 生产者将请求传输之间到达的任何记录组合到一个批处理请求中的时间 int 0 0
acks 生产者要求领导者在考虑完成请求之前收到的确认数量 string 1 1

注:acks配置的可选值:

  • 0:表示producer无需等待leader的确认;
  • 1:代表需要leader确认写入它的本地log并立即确认;
  • -1(all):代表所有的备份都完成后确认
3.事务消息相关配置
配置项 作用 类型 默认值 示例
transactional.id 事务ID(当有多个生产者时,标识哪个生产者的事务,可用于消息幂等)  String null order:4578457845
transaction.timeout.ms 事务超时时间 long null 100000

三、consumer主要配置

1.连接配置
配置项 作用 类型 默认值 示例
bootstrap.servers 连接的broker地址  String null localhost:9092
2.消费者本身配置
配置项 作用 类型 默认值 示例
group.id 消费者组的ID  String null user-group
client.id 消费者ID String null appName
3.消息配置
配置项 作用 类型 默认值 示例
auto.offset.reset 当没有初始偏移量或当前偏移量不存在时设置消费的起始点(earliest、latest、none三个值可选择)  String earliest /earliest
enable.auto.commit 是否后台自动提交偏移量 Boolean true true
auto.commit.interval.ms 后台自动提交消费偏移量(后台定时提交)的间隔时间 int 5000 5000
key.deserializer 指定消息的key的反序列化类(需要实现Deserializer接口) class null org.apache.kafka.common.serialization.StringDeserializer
value.deserializer 指定消息内容的反序列化类(需要实现Deserializer接口) class null org.apache.kafka.common.serialization.StringDeserializer

一张图来概括kafka配置参数

一张图概括kafka配置参数说明