关于librdkafka设置手动提交
2017-08-02 18:37
495 查看
需同时使用globalconf的conf->set("enable.auto.commit", "false", errstr);
以及tconf的tconf->set("auto.offset.reset", "earliest", errstr); // 注意,earliest与latest是有区别的,先看官网解释:
然后是真实含义:
earliest
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费
latest
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据
none
topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常
所以earliest和latest是有区别的。
在我的场景中就配置为本文最上面的两行就行了。
以及tconf的tconf->set("auto.offset.reset", "earliest", errstr); // 注意,earliest与latest是有区别的,先看官网解释:
auto.offset.reset | C | smallest, earliest, beginning, largest, latest, end, error | largest | Action to take when there is no initial offset in offset store or the desired offset is out of range: 'smallest','earliest' - automatically reset the offset to the smallest offset, 'largest','latest' - automatically reset the offset to the largest offset, 'error' - trigger an error which is retrieved by consuming messages and checking 'message->err'. Type: enum value |
earliest
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,从头开始消费
latest
当各分区下有已提交的offset时,从提交的offset开始消费;无提交的offset时,消费新产生的该分区下的数据
none
topic各分区都存在已提交的offset时,从offset后开始消费;只要有一个分区不存在已提交的offset,则抛出异常
所以earliest和latest是有区别的。
在我的场景中就配置为本文最上面的两行就行了。
相关文章推荐
- 关于Kafka 的 consumer 消费者手动提交详解
- 关于Kafka 的 consumer 消费者手动提交详解
- 关于SpringKafka消费者的几个监听器:[一次处理单条消息和一次处理一批消息]以及[自动提交offset和手动提交offset]
- 关于librdkafka编译错误问题解决
- SpringMvc Dao jdbcTemplate设置不自动提交(手动提交)(适用商品抢购等事务)
- librdkafka 0.8 应用到C++代码中应当使用C的链接方式
- librdkafka 打印连接断开错误
- 关于JEECG中表单提交的中断与手动提交
- js 手动设置表单值再提交
- 测试librdkafka
- conn.setAutoCommit(false);设置事物手动提交
- 关于XMLHttpRequest.open()设置提交方式 (POST,GET)
- kafka多线程消费及处理和手动提交处理方案设计
- librdkafka安装和php扩展php-rdkafka安装
- librdkafka的安装和使用
- 关于电脑DNS出错,如何修复和手动设置DNS
- windows 编译librdkafka
- 关于设置表单重复提交、验证码超时的那点事
- Linux下kafka之C/C++客户端库librdkafka的编译,安装以及函数介绍
- 使用librdkafka 封装的C++类