`
邢邢色色
  • 浏览: 232106 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Kafka学习之consumer配置(0.8.1版)

阅读更多

group.id 默认值:无

唯一的指明了consumer的group的名字,group名一样的进程属于同一个consumer group。

 

zookeeper.connect 默认值:无

指定了ZooKeeper的connect string,以hostname:port的形式,hostname和port就是ZooKeeper集群各个节点的hostname和port。 ZooKeeper集群中的某个节点可能会挂掉,所以可以指定多个节点的connect string。如下所式:

hostname1:port1,hostname2:port2,hostname3:port3.

 

ZooKeeper也可以允许你指定一个"chroot"的路径,可以让Kafka集群将需要存储在ZooKeeper的数据存储到指定的路径下这可以让多个Kafka集群或其他应用程序公用同一个ZooKeeper集群。可以使用如下的connect string:

hostname1:port1,hostname2:port2,hostname3:port3/chroot/path

 

consumer.id 默认值:null

如果没有设置的话则自动生成。

 

socket.timeout.ms 默认值:30 * 1000

socket请求的超时时间。实际的超时时间为max.fetch.wait + socket.timeout.ms。

 

socket.receive.buffer.bytes 默认值:64 * 1024

socket的receiver buffer的字节大小。

 

fetch.message.max.bytes 默认值:1024 * 1024

每一个获取某个topic的某个partition的请求,得到最大的字节数,每一个partition的要被读取的数据会加载入内存,所以这可以帮助控制consumer使用的内存。这个值的设置不能小于在server端设置的最大消息的字节数,否则producer可能会发送大于consumer可以获取的字节数限制的消息。

 

auto.commit.enable 默认值:true

如果设为true,consumer会定时向ZooKeeper发送已经获取到的消息的offset。当consumer进程挂掉时,已经提交的offset可以继续使用,让新的consumer继续工作。

 

auto.commit.interval.ms 默认值:60 * 1000

consumer向ZooKeeper发送offset的时间间隔。

 

queued.max.message.chunks 默认值:10

缓存用来消费的消息的chunk的最大数量,每一个chunk最大可以达到fetch.message.max.bytes。

 

rebalance.max.retries 默认值:4

当一个新的consumer加入一个consumer group时,会有一个rebalance的操作,导致每一个consumer和partition的关系重新分配。如果这个重分配失败的话,会进行重试,此配置就代表最大的重试次数。

 

fetch.min.bytes 默认值:1

一个fetch请求最少要返回多少字节的数据,如果数据量比这个配置少,则会等待,知道有足够的数据为止。

 

fetch.wait.max.ms 默认值:100

在server回应fetch请求前,如果消息不足,就是说小于fetch.min.bytes时,server最多阻塞的时间。如果超时,消息将立即发送给consumer.。

 

rebalance.backoff.ms 默认值:2000

在rebalance重试时的backoff时间。

 

refresh.leader.backoff.ms 默认值:200

在consumer发现失去某个partition的leader后,在leader选出来前的等待的backoff时间。

 

auto.offset.reset 默认值:largest

在Consumer在ZooKeeper中发现没有初始的offset时或者发现offset不在范围呢,该怎么做:
* smallest : 自动把offset设为最小的offset。
* largest : 自动把offset设为最大的offset。
* anything else: 抛出异常。

 

consumer.timeout.ms 默认值:-1

如果在指定的时间间隔后,没有发现可用的消息可消费,则抛出一个timeout异常。

 

client.id 默认值: group id value

每一个请求中用户自定义的client id,可帮助追踪调用情况。

 

zookeeper.session.timeout.ms 默认值:6000

ZooKeeper的session的超时时间,如果在这段时间内没有收到ZK的心跳,则会被认为该Kafka server挂掉了。如果把这个值设置得过低可能被误认为挂掉,如果设置得过高,如果真的挂了,则需要很长时间才能被server得知。

 

zookeeper.connection.timeout.ms 默认值:6000

client连接到ZK server的超时时间。

 

zookeeper.sync.time.ms 默认值:2000

一个ZK follower能落后leader多久。

 

更多细节参见kafka.consumer.ConsumerConfig类。

分享到:
评论

相关推荐

    kafka_2.9.2-0.8.1

    《Kafka 2.9.2-0.8.1:分布式消息系统详解》 Apache Kafka 是一个开源的分布式流处理平台,最初由 LinkedIn 开发并贡献给 Apache 软件基金会。它被设计为一个高吞吐量、低延迟的消息传递系统,支持发布和订阅模式的...

    kafka0.8.1

    在集群管理方面,Kafka 0.8.1 提供了 ZooKeeper 集群协调,使得节点的添加、删除和配置更新变得更加平滑。ZooKeeper 负责存储和管理 Kafka 的元数据,帮助维持集群的稳定运行。 此外,这个版本还优化了性能。Kafka ...

    kafka_2.9.2-0.8.2.1.tgz

    kafka_2.9.2-0.8.2.1.tgz 安装 liunx环境 ... 2) 删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录删除zookeeper "/brokers/topics/"目录下相关topic节点

    kafka集群安装

    ### Kafka集群安装与配置详解 #### 一、概述 在分布式计算环境中,消息队列扮演着重要的角色。Apache Kafka作为一款高性能的消息中间件,被广泛应用于日志收集、监控数据聚合、流处理等多个领域。本篇文章将详细...

    Zookeeper和kafka集群搭建手册

    # bin/kafka-console-consumer.sh --bootstrap-server <broker_list> --topic test-topic --from-beginning ``` 通过以上步骤,您可以完成Zookeeper和Kafka集群的基本搭建,并能够进行简单的消息发布与订阅操作。...

    kafkaI源码

    **Kafka源码分析** Kafka是Apache软件基金会的一个开源流处理平台,由...尽管0.8.1版本较为老旧,但它仍然是学习Kafka基础架构和设计理念的良好起点。如果需要更现代的功能和优化,可以进一步研究后续版本的源码。

Global site tag (gtag.js) - Google Analytics