You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by Audrius Petrosius <a....@gmail.com> on 2022/02/10 07:44:51 UTC

Log directory offline on AWS EBS

Hello,

We are encountering such issues on AWS EBS based system, nothing in AWS
logs.

Is it memory or IO issue, as it states in one line

in dir /srv/kafka/disk1 due to IOException
(kafka.server.LogDirFailureChannel)
java.io.IOException: Map failed

and in second

Caused by: java.lang.OutOfMemoryError: Map failed


> [2022-02-07 21:35:43,046] WARN [ReplicaManager broker=77] Unable to
> describe replica dirs for /srv/kafka/disk1 (kafka.server.ReplicaManager)
> org.apache.kafka.common.errors.KafkaStorageException: Log directory
> /srv/kafka/disk1 is offline


[2022-02-07 21:34:54,355] ERROR Failed to clean up log for
> invent_points_of_interest-39 in dir /srv/kafka/disk1 due to IOException
> (kafka.server.LogDirFailureChannel) java.io.IOException: Map failed at
> sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:938) at kafka.log.
> AbstractIndex.<init>(AbstractIndex.scala:124) at kafka.log.OffsetIndex.<
> init>(OffsetIndex.scala:54) at kafka.log.LazyIndex$.$anonfun$forOffset$1(
> LazyIndex.scala:106) at kafka.log.LazyIndex.$anonfun$get$1(LazyIndex
> .scala:63) at kafka.log.LazyIndex.get(LazyIndex.scala:60) at kafka.log.
> LogSegment.offsetIndex(LogSegment.scala:64) at kafka.log.Cleaner
> .buildOffsetMapForSegment(LogCleaner.scala:932) at kafka.log.Cleaner.
> $anonfun$buildOffsetMap$5(LogCleaner.scala:908) at kafka.log.Cleaner.
> $anonfun$buildOffsetMap$5$adapted(LogCleaner.scala:904) at
> scala.collection.IterableOnceOps.foreach(IterableOnce.scala:563) at
> scala.collection.IterableOnceOps.foreach$(IterableOnce.scala:561) at
> scala.collection.AbstractIterable.foreach(Iterable.scala:919) at
> scala.collection.IterableOps$WithFilter.foreach(Iterable.scala:889) at
> kafka.log.Cleaner.buildOffsetMap(LogCleaner.scala:904) at kafka.log.
> Cleaner.doClean(LogCleaner.scala:523) at kafka.log.Cleaner.clean(
> LogCleaner.scala:511) at kafka.log.LogCleaner$CleanerThread.cleanLog(
> LogCleaner.scala:380) at kafka.log.LogCleaner$CleanerThread
> .cleanFilthiestLog(LogCleaner.scala:352) at kafka.log.LogCleaner
> $CleanerThread.tryCleanFilthiestLog(LogCleaner.scala:332) at kafka.log.
> LogCleaner$CleanerThread.doWork(LogCleaner.scala:321) at kafka.utils.
> ShutdownableThread.run(ShutdownableThread.scala:96) Caused by: java.lang.
> OutOfMemoryError: Map failed at sun.nio.ch.FileChannelImpl.map0(Native
> Method) at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:935) ... 21
> more

[2022-02-07 21:34:54,356] WARN [ReplicaManager broker=77] Stopping serving
replicas in dir /srv/kafka/disk1 (kafka.server.ReplicaManager) -02-07 21:34:
54,588] WARN [ReplicaManager broker=77] While recording the replica LEO,
the partition multibooks-250 hasn't been created. (kafka.server.
ReplicaManager) [2022-02-07 21:34:54,696] WARN Stopping serving logs in dir
/srv/kafka/disk1 (kafka.log.LogManager)



>

Re: Log directory offline on AWS EBS

Posted by Oleksandr Shulgin <ol...@zalando.de>.
On Thu, Feb 10, 2022 at 8:45 AM Audrius Petrosius <a....@gmail.com>
wrote:

> Hello,
>
> We are encountering such issues on AWS EBS based system, nothing in AWS
> logs.
>
> Is it memory or IO issue, as it states in one line
>
> in dir /srv/kafka/disk1 due to IOException
> (kafka.server.LogDirFailureChannel)
> java.io.IOException: Map failed

and in second
>
> Caused by: java.lang.OutOfMemoryError: Map failed
>

From the error it looks like a case of a missing tuning for the
`vm.max_map_count` kernel parameter:
https://kafka.apache.org/documentation/#os


Regards,
--
Alex