I'm still not getting the necessary behavior. If I run on the command line, I get a series of messages:
-------- $ ./kafka-console-consumer.sh --zookeeper w.x.y.z:p --topic test --from-beginning Test test tests asdf -------- If I exclude the --from-beginning argument then it hangs, which indicates to me that the offset is currently at the end and awaiting new messages. If I run through python, it also hangs, which is why I suspect it is insistently reading from the end. See below: -------- print "Begin constructing SimpleConsumer" client = KafkaClient(servers) s_consumer = SimpleConsumer(client, topic, group_id, partitions=[0], #Not sure I need this auto_commit=False, #Tried with and without, doesn't fix the problem auto_offset_reset='smallest' #Tried with and without, doesn't fix the problem ) print "End constructing SimpleConsumer\n" print "Begin reading messages" try: for message in s_consumer: print " New message" print " " + message.topic print " " + message.partition print " " + message.offset print " " + message.key print " " + message.value except Exception as e: print "Exception: ", e print "End reading messages\n" print "End all" -------- Output: Begin all Begin constructing SimpleConsumer End constructing SimpleConsumer Begin reading messages -------- It just hangs after that. I also tried with a KafkaConsumer instead of a SimpleConsumer and it does exactly the same thing. I'm not sure what to do. ---------------------------------------------------------------------------------------- Keith Wiley Senior Software Engineer, Atigeo keith.wi...@atigeo.com ________________________________________ From: Dana Powers <dana.pow...@rd.io> Sent: Tuesday, July 28, 2015 09:58 PM To: users@kafka.apache.org Subject: Re: kafka-python message offset? Hi Keith, you can use the `auto_offset_reset` parameter to kafka-python's KafkaConsumer. It behaves the same as the java consumer configuration of the same name. See http://kafka-python.readthedocs.org/en/latest/apidoc/kafka.consumer.html#kafka.consumer.KafkaConsumer.configure for more details on how to configure a KafkaConsumer instance. For fine-grained control wrt configuring topic/partition offsets, use KafkaConsumer.set_topic_partitions() . For the most control, pass a dictionary of {(topic, partition): offset, ...} . see http://kafka-python.readthedocs.org/en/latest/apidoc/kafka.consumer.html#kafka.consumer.kafka.KafkaConsumer.set_topic_partitions -Dana On Tue, Jul 28, 2015 at 8:47 PM, Keith Wiley <keith.wi...@atigeo.com> wrote: > I haven’t found a way to specify that a consumer should read from the > beginning, or from any other explicit offset, or that the offset should be > “reset” in any way. The command-line shell scripts (which I believe simply > wrap the Scala tools) have flags for this sort of thing. Is there any way > to do this through the python library? > > Thanks.