Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从最大偏移量读取卡夫卡消费属性_Java_Apache Kafka_Kafka Consumer Api - Fatal编程技术网

Java 从最大偏移量读取卡夫卡消费属性

Java 从最大偏移量读取卡夫卡消费属性,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,我已经编写了一个Java Kafka消费者。我想确定如何明确确保一旦卡夫卡消费者启动,它只读取从那时起由制作人发送的消息,即它不应读取制作人已发送给卡夫卡的任何消息。有人能解释一下如何确保这一点吗 下面是我使用的属性的一个片段 Properties properties = new Properties(); properties.put("zookeeper.connect", zookeeperHost); properties.put("group.id", group); propert

我已经编写了一个Java Kafka消费者。我想确定如何明确确保一旦卡夫卡消费者启动,它只读取从那时起由制作人发送的消息,即它不应读取制作人已发送给卡夫卡的任何消息。有人能解释一下如何确保这一点吗

下面是我使用的属性的一个片段

Properties properties = new Properties();
properties.put("zookeeper.connect", zookeeperHost);
properties.put("group.id", group);
properties.put("auto.offset.reset","largest");
ConsumerConfig consumerConfig = new ConsumerConfig(properties);
consumerConnector = Consumer.createJavaConsumerConnector(consumerConfig);
更新日期:2014年9月14日:

我使用的是以下属性,似乎消费者有时仍然从一开始就阅读,有人能告诉我现在出了什么问题吗

我使用的是卡夫卡版本0.8.2

properties.put("auto.offset.reset","largest");
properties.put("auto.commit.enable","false");

根据上述答案,似乎正确的机制如下所示,用于设置使用者的属性:

 properties.put("auto.offset.reset","largest");
 properties.put("auto.commit.enable","false");

这样可以确保从最大偏移量读取数据,您已经这样做了。properties.put(“auto.offset.reset”,“最大”);您还应该关闭“自动提交”并且从不手动提交,因为在这种情况下,您的使用者将在重新启动后忽略
auto.reset.offset
config,取而代之的是提交的偏移量。@serejja感谢您的帮助input@ShawnGuo谢谢你的意见,我认为这两个属性集似乎都可以使用。@ShawnGuo请看一下我的更新,我无法确定模式,但它似乎并不一致,即使使用这些属性也是如此。