Consumer归属的组ID,broker是根据group.id来判断是队列模式还是发布订阅模式,非常重要
group.id
消费者的ID,若是没有设置的话,会自增
consumer.id
一个用于跟踪调查的ID ,最好同group.id相同
client.id = group id value
对于zookeeper集群的指定,可以是多个 hostname1:port1,hostname2:port2,hostname3:port3 必须和broker使用同样的zk配置
zookeeper.connect=localhost:2182
zookeeper的心跳超时时间,查过这个时间就认为是dead消费者
zookeeper.session.timeout.ms =6000
zookeeper的等待连接时间
zookeeper.connection.timeout.ms =6000
zookeeper的follower同leader的同步时间
zookeeper.sync.time.ms =2000
当zookeeper中没有初始的offset时候的处理方式 。smallest :重置为最小值 largest:重置为最大值 anythingelse:抛出异常
auto.offset.reset = largest
socket的超时时间,实际的超时时间是:max.fetch.wait + socket.timeout.ms.
socket.timeout.ms=30*1000
socket的接受缓存空间大小
socket.receive.buffer.bytes=64*1024
从每个分区获取的消息大小限制
fetch.message.max.bytes =1024*1024
是否在消费消息后将offset同步到zookeeper,当Consumer失败后就能从zookeeper获取最新的offset
auto.commit.enable =true
自动提交的时间间隔
auto.commit.interval.ms =60*1000
用来处理消费消息的块,每个块可以等同于fetch.message.max.bytes中数值
queued.max.message.chunks =10
当有新的consumer加入到group时,将会reblance,此后将会有partitions的消费端迁移到新
的consumer上,如果一个consumer获得了某个partition的消费权限,那么它将会向zk注册
"Partition Owner registry"节点信息,但是有可能此时旧的consumer尚没有释放此节点,
此值用于控制,注册节点的重试次数.
rebalance.max.retries =4
每次再平衡的时间间隔
rebalance.backoff.ms =2000
每次重新选举leader的时间
refresh.leader.backoff.ms
server发送到消费端的最小数据,若是不满足这个数值则会等待,知道满足数值要求
fetch.min.bytes =1
若是不满足最小大小(fetch.min.bytes)的话,等待消费端请求的最长等待时间
fetch.wait.max.ms =100
指定时间内没有消息到达就抛出异常,一般不需要改
consumer.timeout.ms = -1