It might logs check your kafka logs dir (server logs) . Kafka can
produce lot of logs in a quick time make sure thats whats in play here.
-Harsha

On Sat, Nov 22, 2014, at 01:37 PM, Rajiv Kurian wrote:
> Actually see a bunch of errors. One of the brokers is out of space and
> this
> might be causing everything to spin out of control.
> 
> Some logs:
> 
> On *broker 1* (the one that has run out of space):
> 
> 2014-11-22T21:20:42.790Z FATAL [ReplicaFetcherThread-1-13          ]
> [kafka.server.ReplicaFetcherThread   ]: [ReplicaFetcherThread-1-13], Disk
> error while replicating data.
> 
> kafka.common.KafkaStorageException: I/O exception in append to log
> 'mytopic-633'
> 
>         at kafka.log.Log.append(Log.scala:283)
> 
>         at
> kafka.server.ReplicaFetcherThread.processPartitionData(ReplicaFetcherThread.scala:52)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1$$anonfun$apply$mcV$sp$2.apply(AbstractFetcherThread.scala:130)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1$$anonfun$apply$mcV$sp$2.apply(AbstractFetcherThread.scala:111)
> 
>         at
> scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:125)
> 
>         at
> scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:344)
> 
>         at
> scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:344)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1.apply$mcV$sp(AbstractFetcherThread.scala:111)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1.apply(AbstractFetcherThread.scala:111)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1.apply(AbstractFetcherThread.scala:111)
> 
>         at kafka.utils.Utils$.inLock(Utils.scala:538)
> 
>         at
> kafka.server.AbstractFetcherThread.processFetchRequest(AbstractFetcherThread.scala:110)
> 
>         at
> kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:88)
> 
>         at
>         kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:51)
> 
> Caused by: java.io.IOException: No space left on device
> 
>         at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
> 
>         at
>         sun.nio.ch.FileDispatcherImpl.write(FileDispatcherImpl.java:60)
> 
>         at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
> 
>         at sun.nio.ch.IOUtil.write(IOUtil.java:65)
> 
>         at sun.nio.ch.FileChannelImpl.write(FileChannelImpl.java:205)
> 
>         at
> kafka.message.ByteBufferMessageSet.writeTo(ByteBufferMessageSet.scala:132)
> 
>         at kafka.log.FileMessageSet.append(FileMessageSet.scala:210)
> 
>         at kafka.log.LogSegment.append(LogSegment.scala:80)
> 
>         at kafka.log.Log.append(Log.scala:269)
> 
>         ... 13 more
> 
> 2014-11-22T21:20:42.791Z ERROR [ReplicaFetcherThread-2-13          ]
> [kafka.server.ReplicaFetcherThread   ]: [ReplicaFetcherThread-2-13],
> Error
> getting offset for partition [myTopic,0] to broker 13
> 
> java.io.IOException: No space left on device
> 
>         at java.io.FileOutputStream.writeBytes(Native Method)
> 
>         at java.io.FileOutputStream.write(FileOutputStream.java:345)
> 
>         at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
> 
>         at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282)
> 
>         at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
> 
>         at java.io.OutputStreamWriter.write(OutputStreamWriter.java:207)
> 
>         at java.io.BufferedWriter.flushBuffer(BufferedWriter.java:129)
> 
>         at java.io.BufferedWriter.write(BufferedWriter.java:230)
> 
>         at java.io.Writer.write(Writer.java:157)
> 
>         at
> kafka.server.OffsetCheckpoint$$anonfun$liftedTree1$1$1.apply(OffsetCheckpoint.scala:50)
> 
>         at
> kafka.server.OffsetCheckpoint$$anonfun$liftedTree1$1$1.apply(OffsetCheckpoint.scala:49)
> 
>         at
> scala.collection.immutable.MapLike$$anon$2$$anonfun$foreach$3.apply(MapLike.scala:106)
> 
>         at
> scala.collection.immutable.MapLike$$anon$2$$anonfun$foreach$3.apply(MapLike.scala:106)
> 
>         at
> scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:125)
> 
>         at
> scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:344)
> 
>         at
> scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:344)
> 
>         at
> scala.collection.immutable.MapLike$$anon$2.foreach(MapLike.scala:106)
> 
>         at
> kafka.server.OffsetCheckpoint.liftedTree1$1(OffsetCheckpoint.scala:49)
> 
>         at kafka.server.OffsetCheckpoint.write(OffsetCheckpoint.scala:39)
> 
>         at
> kafka.log.LogManager$$anonfun$checkpointRecoveryPointOffsets$1.apply(LogManager.scala:234)
> 
>         at
> kafka.log.LogManager$$anonfun$checkpointRecoveryPointOffsets$1.apply(LogManager.scala:231)
> 
>         at
> scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:34)
> 
>         at scala.collection.mutable.ArrayOps.foreach(ArrayOps.scala:34)
> 
>         at
> kafka.log.LogManager.checkpointRecoveryPointOffsets(LogManager.scala:231)
> 
>         at kafka.log.LogManager.truncateTo(LogManager.scala:204)
> 
>         at
> kafka.server.ReplicaFetcherThread.handleOffsetOutOfRange(ReplicaFetcherThread.scala:84)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1$$anonfun$apply$mcV$sp$2.apply(AbstractFetcherThread.scala:144)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1$$anonfun$apply$mcV$sp$2.apply(AbstractFetcherThread.scala:111)
> 
>         at
> scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:125)
> 
>         at
> scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:344)
> 
>         at
> scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:344)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1.apply$mcV$sp(AbstractFetcherThread.scala:111)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1.apply(AbstractFetcherThread.scala:111)
> 
>         at
> kafka.server.AbstractFetcherThread$$anonfun$processFetchRequest$1.apply(AbstractFetcherThread.scala:111)
> 
>         at kafka.utils.Utils$.inLock(Utils.scala:538)
> 
>         at
> kafka.server.AbstractFetcherThread.processFetchRequest(AbstractFetcherThread.scala:110)
> 
>         at
> kafka.server.AbstractFetcherThread.doWork(AbstractFetcherThread.scala:88)
> 
>         at
>         kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:51)
> 
> 
> *On broker 2:*
> 
> 2014-11-22T21:20:19.629Z ERROR [request-expiration-task            ]
> [kafka.server.KafkaApis              ]: [KafkaApi-12] Error when
> processing
> fetch request for partition [myTopic,265] offset 415659 from follower
> with
> correlation id 0
> 
> kafka.common.OffsetOutOfRangeException: Request for offset 415659 but we
> only have log segments in the range 0 to 410453.
> 
>         at kafka.log.Log.read(Log.scala:377)
> 
>         at
> kafka.server.KafkaApis.kafka$server$KafkaApis$$readMessageSet(KafkaApis.scala:401)
> 
>         at
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$readMessageSets$1.apply(KafkaApis.scala:347)
> 
>         at
> kafka.server.KafkaApis$$anonfun$kafka$server$KafkaApis$$readMessageSets$1.apply(KafkaApis.scala:343)
> 
>         at
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
> 
>         at
> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:206)
> 
>         at
> scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:125)
> 
>         at
> scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:344)
> 
>         at
> scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:344)
> 
>         at
> scala.collection.TraversableLike$class.map(TraversableLike.scala:206)
> 
>         at scala.collection.immutable.HashMap.map(HashMap.scala:35)
> 
>         at
> kafka.server.KafkaApis.kafka$server$KafkaApis$$readMessageSets(KafkaApis.scala:343)
> 
>         at
> kafka.server.KafkaApis$FetchRequestPurgatory.expire(KafkaApis.scala:704)
> 
>         at
> kafka.server.KafkaApis$FetchRequestPurgatory.expire(KafkaApis.scala:686)
> 
>         at
> kafka.server.RequestPurgatory$ExpiredRequestReaper.run(RequestPurgatory.scala:216)
> 
> 
> *On broker 3*:
> 
> 
> 2014-11-22T21:26:48.216Z INFO  [kafka-request-handler-3            ]
> [fka.controller.PartitionStateMachine]: [Partition state machine on
> Controller 13]: Invoking state change to OnlinePartition for partitions
> [myTopic,122]
> 
> 2014-11-22T21:26:48.218Z ERROR [kafka-request-handler-3            ]
> [state.change.logger                 ]: Controller 13 epoch 132
> encountered
> error while electing leader for partition [myTopic,122] due to: No other
> replicas in ISR 13 for [myTopic,122] besides shutting down brokers 13.
> 
> 2014-11-22T21:26:48.218Z ERROR [kafka-request-handler-3            ]
> [state.change.logger                 ]: Controller 13 epoch 132 initiated
> state change for partition [myTopic,122] from OnlinePartition to
> OnlinePartition failed
> 
> kafka.common.StateChangeFailedException: encountered error while electing
> leader for partition [myTopic,122] due to: No other replicas in ISR 13
> for
> [myTopic,122] besides shutting down brokers 13.
> 
>         at
> kafka.controller.PartitionStateMachine.electLeaderForPartition(PartitionStateMachine.scala:344)
> 
>         at
> kafka.controller.PartitionStateMachine.kafka$controller$PartitionStateMachine$$handleStateChange(PartitionStateMachine.scala:171)
> 
>         at
> kafka.controller.PartitionStateMachine$$anonfun$handleStateChanges$2.apply(PartitionStateMachine.scala:111)
> 
>         at
> kafka.controller.PartitionStateMachine$$anonfun$handleStateChanges$2.apply(PartitionStateMachine.scala:110)
> 
>         at scala.collection.immutable.Set$Set1.foreach(Set.scala:81)
> 
>         at
> kafka.controller.PartitionStateMachine.handleStateChanges(PartitionStateMachine.scala:110)
> 
>         at
> kafka.controller.KafkaController$$anonfun$shutdownBroker$4$$anonfun$apply$4.apply(KafkaController.scala:227)
> 
>         at
> kafka.controller.KafkaController$$anonfun$shutdownBroker$4$$anonfun$apply$4.apply(KafkaController.scala:223)
> 
>         at scala.Option.foreach(Option.scala:121)
> 
>         at
> kafka.controller.KafkaController$$anonfun$shutdownBroker$4.apply(KafkaController.scala:223)
> 
>         at
> kafka.controller.KafkaController$$anonfun$shutdownBroker$4.apply(KafkaController.scala:219)
> 
>         at
> scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:123)
> 
>         at
> scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:322)
> 
>         at
> scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:322)
> 
>         at
> scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:322)
> 
>         at
> kafka.controller.KafkaController.shutdownBroker(KafkaController.scala:219)
> 
>         at
> kafka.server.KafkaApis.handleControlledShutdownRequest(KafkaApis.scala:140)
> 
>         at kafka.server.KafkaApis.handle(KafkaApis.scala:77)
> 
>         at
> kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:42)
> 
>         at java.lang.Thread.run(Thread.java:744)
> 
> Caused by: kafka.common.StateChangeFailedException: No other replicas in
> ISR 13 for [myTopic,122] besides shutting down brokers 13
> 
>         at
> kafka.controller.ControlledShutdownLeaderSelector.selectLeader(PartitionLeaderSelector.scala:181)
> 
>         at
> kafka.controller.PartitionStateMachine.electLeaderForPartition(PartitionStateMachine.scala:320)
> 
>         ... 19 more
> 
> On Sat, Nov 22, 2014 at 1:17 PM, Harsha <ka...@harsha.io> wrote:
> 
> > Rajiv ,
> >           which version of kafka are you using and do you see any errors
> >           when the server goes down after sending few messages.
> > -Harsha
> >
> > On Sat, Nov 22, 2014, at 01:05 PM, Rajiv Kurian wrote:
> > > The brokers also seem unavailable while this is going on.  Each of these
> > > log messages takes 2-3 seconds so at about  1200 partitions it takes up
> > > quite a bit of time. Ultimately it does recover though but sadly it goes
> > > down soon enough after I start sending it messages.
> > >
> > > On Sat, Nov 22, 2014 at 11:23 AM, Rajiv Kurian <ra...@signalfuse.com>
> > > wrote:
> > >
> > > > A 3 node kafka broker cluster went down yesterday (all nodes) and I
> > just
> > > > noticed it this morning. When I restarted it this morning, I see a
> > lengthy
> > > > list of messages like this:
> > > >
> > > > Loading log 'mytopic-partitionNum"
> > > > Recovering unflushed segment 'some number' of in log
> > mytopic-partitionNum.
> > > > Completed load of log mytopic-partitionNum with log end offset
> > someOffset
> > > >
> > > > It's been going on for more than 30 minutes since I restarted the
> > broker.
> > > > I have quite a few partitions (over 1000) but I still wouldn't expect
> > it to
> > > > take such a long time.
> > > >
> > > > Any ideas on how I should investigate the problem?
> > > >
> > > > Thanks!
> > > >
> >

Reply via email to