kafka 消费者 配置 说明

数据流通道

2019-03-24

34

0

技术:kafka

运行环境:centos6.8

demo功能:提供一个kakfa消费者配置说明

消费者配置

bootstrap.servers=
#deserializer应该与producer保持对应
#key.deserializer=
#value.deserializer=
##fetch请求返回时,至少获取的字节数,默认值为1
##当数据量不足时,客户端请求将会阻塞
##此值越大,客户端请求阻塞的时间越长,这取决于producer生产效率和网络传输能力
fetch.min.bytes=1
##如果broker端反馈的数据量不足时(fetch.min.bytes),fetch请求等待的最长时间
##如果数据量满足需要,则立即返回。
fetch.max.wait.ms=500
##标识consumer所属的group
##此属性非常重要,类似于JMS订阅者的clientId
##同一个group中的consumer互为排他、且可以负载均衡。
##即订阅topic的同一个group中,任何一个partition只能被一个consumer消费
group.id=
##consumer协调器与kafka集群之间,心跳检测的时间间隔
##kafka集群通过心跳判断consumer会话的活性,以判断consumer是否在线,如果离线则会把
##此consumer注册的partition分配(assign)给相同group的其他consumer。
##此值必须小于“session.timeout.ms”,即会话过期时间应该比心跳检测间隔要大,通常为session.timeout.ms的三分之一,否则心跳检测就失去意义。
heartbeat.interval.ms=3000
##单次fetch请求中,server为每个partition返回的消息最大尺寸,默认为:1M
##因此每次fetch请求的最大数据量推算为:partitions * max.partition.fetch.bytes
max.partition.fetch.bytes=1048576
##consumer会话超时时长,如果在此时间内,server尚未接收到consumer任何请求(包括心跳检测),那么
##server将会判定此consumer离线。
##此值越大,server等待consumer失效、rebalance时间就越长。
session.timeout.ms=30000
##当consumer指定的offset在kafka中不存在时(比如首次消费、或者相应的offset log数据已经删除),
##earliest:重置为kafka持有的最早的offset值(即从kafka现存的最早的消息开始消费)
##latest:重置为kafka持有的最新的offset值(即从最新的消息开始消费)
##none:如果broker不存在指定的offset的数据,则直接抛出异常
auto.offset.reset=latest
 
##是否开启自动提交(offset)
##如果开启,consumer已经消费的offset信息将会间歇性的提交到kafka中(持久保存)
enable.auto.commit=true
##当开启offset自动提交时,提交请求的时间频率
auto.commit.interval.ms=5000
##broker使用何种策略,分配partition给consumer;(或许class应该放在broker端的classpath中)
#partition.assignment.strategy=
 
##单次请求超时时间(比如poll、offset提交、心跳等请求)
##在超时之间,无响应的请求则会重试,直到超时或者重试次数达到阀值
request.timeout.ms=40000
##请求失败后,重试之前backoff的时间
retry.backoff.ms=100
 
##通常情况下,当consumer创建时将会获取kafka broker的metadata信息,
##当consumer消费时遇到特殊异常(比如leader迁移、broker拓扑结构变迁),也将会同步刷新metadata信息。
##此配置用于限制:即使没有检测到broker端metadata信息的变更,也将强制进行metadata同步的时间周期。
metadata.max.age.ms=300000
 

欢迎添加微信,互相学习↑↑↑ -_-

发表评论

全部评论:0条

白老虎

programming is not only to solve problems, ways to think