Ich versuche, Daten über Apache Kafka zu laden und bekomme ständig diesen Fehler:
kafka.common.OffsetOutOfRangeException: Offset 1003786 liegt außerhalb des Bereichs bei kafka.log.Log $ .findRange (Log.scala: 46) bei kafka.log.Log.read (Log.scala: 264) bei kafka.server.KafkaRequestHandlers.kafka $ server $ KafkaRequestHandlers $$ readMessageSet (KafkaRequestHandlers.scala: 112) bei kafka.server.KafkaRequestHandlers $$ anonfun $ 2.apply (KafkaRequestHandlers.scala: 101) bei kafka.server.KafkaRequestHandlers $$ anonfun $ 2.apply (KafkaRequestHandlers.scala: 100) bei scala.collection.TraversableLike $$ anonfun $ map $ 1.Anwendung (TraversableLike.scala: 206) bei scala.collection.TraversableLike $$ anonfun $ map $ 1.Anwendung (TraversableLike.scala: 206) bei scala.collection.IndexedSeqOptimized $ class.foreach (IndexedSeqOptimized.scala: 34) bei scala.collection.mutable.ArrayOps.foreach (ArrayOps.scala: 34) bei scala.collection.TraversableLike $ class.map (TraversableLike.scala: 206) bei scala.collection.mutable.ArrayOps.map (ArrayOps.scala: 34) bei kafka.server.KafkaRequestHandlers.handleMultiFetchRequest (KafkaRequestHandlers.scala: 100) bei kafka.server.KafkaRequestHandlers $$ anonfun $ handlerFür $ 3.apply (KafkaRequestHandlers.scala: 40) bei kafka.server.KafkaRequestHandlers $$ anonfun $ handlerFür $ 3.apply (KafkaRequestHandlers.scala: 40) bei kafka.network.Processor.handle (SocketServer.scala: 296) bei kafka.network.Processor.read (SocketServer.scala: 319) bei kafka.network.Processor.run (SocketServer.scala: 214) bei java.lang.Thread.run (Thread.java:724)
Was bedeutet diese Ausnahme und wie kann ich sie beheben?
OffsetOutOfRangeException
gibt im Allgemeinen an, dass der Client einen Bereich angefordert hat, der auf dem Server nicht mehr verfügbar ist.
Dies könnte passieren, da das Themenprotokoll basierend auf der Aufbewahrungsrichtlinie in Ihrem Kafka-Setup nicht mehr existiert.
Wenn Sie SimpleConsumer
verwenden, müssen Sie die OffsetOutOfRange-Exception in Ihrem Code behandeln. Im Idealfall sollte Ihr Consumer eine OffsetRequest ausgeben, um den aktuellsten / frühesten Offset zu erhalten, der derzeit auf dem Server verfügbar ist, und diesen dann in Ihrem FetchRequest (als Parameter) verwenden
Tags und Links apache-kafka druid