I'm new with Hadoop and during one MapReduce task I got the following error:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
15/09/18 07:31:10 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
How can I solve this?
Thanks!
Here's what your errors mean:
For SLF4J
:
SLF4J: **Failed to load class** "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
As you can tell, you do not have the appropriate class (*Failed to load class*) for SLF4J
to work so it defaults to no logging ((NOP) logger implementation). Following the suggested link you can see that the solution for this is:
Placing one (and only one) of
slf4j-nop.jar
,slf4j-simple.jar
,slf4j-log4j12.jar
,slf4j-jdk14.jar
orlogback-classic.jar
on the class path should solve the problem
For Hadoop:
15/09/18 07:31:10 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
This just means that the native library cannot be found, it generally doesn't affect the way Hadoop functions. As for the native library:
The native library just contains implementations of certain components for performance reasons and for non-availability of Java implementations. These components are available in a single, dynamically-linked native library called the native hadoop library. On the *nix platforms the library is named libhadoop.so.
Anyway, if you really want to get rid of the warning, you can follow one of the many solutions offered here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With