Kafka参数配置

2019-11-14  本文已影响0人  ZackJiang
  1. 消费者

    • enable.auto.commit

      默认值为true,与参数auto.commit.interval.ms一起作用,auto.commit.interval.ms默认值为5000ms,也就是说默认设置中每5秒钟,kafka consumer就把offset提交给kafka一次,如果将enable.auto.commit设置为false,则auto.commit.interval.ms就失效了。

      生产环境建议将enable.auto.commit设置成false,并且手动commit offset

    • auto.offset.reset

      earlist当各分区中有已提交的offset时,从提交的offset开始消费,无提交的offset时,从头开始消费;

      lastest 当各分区有已提交的offset时,从已提交的offset开始消费,无提交的offset时,消费该分区新产生的数据

      none 当分区有已提交的offset是,从已提交的offset开始消费,只要有一个分区不存在已提交的offset,则抛出异常

  2. 生产者

    • acks 参数指定了必须要有多少个分区副本接收到消息,生产者才会认为消息写入是发送消息成功的,这个参数对消息丢失的可能性会产生重要影响,主参数有如下选项:
    • acks=0: 把消息发送到kafka就认为发送成功。
    • acks=1: 把消息发送到kafka leader分区,并且写入磁盘就认为发送成功。
    • acks=all: 把消息发送到 Kafka Leader 分区,并且 Leader 分区的副本 Follower 对消息进行了同步就认为发送成功。
上一篇下一篇

猜你喜欢

热点阅读