Support Questions

Find answers, ask questions, and share your expertise

Cannot start namenode due to fail to load class "org.slf4j.impl.StaticLoggerBinder"

avatar
Expert Contributor

Hi,

I tried to moved the App Timeline Server to another server. But i ran to an issue that i cannot start Namenode as it fails to load the "org.slf4j.impl.StaticLoggerBinder" ; the lib is exist when i use rpm -ql slf4j-1.7.4-3.el7.noarch command but looks like it cannot load it. Do I need to add it to class path ? and if yes, which class path.

Any advice?

Thanks,

SJ

3 REPLIES 3

avatar
Expert Contributor

Thanks Aditya,

Didn't work. I also tried to add all of the following ones one by one but didn't work.

slf4j-nop.jar

slf4j-simple.jar

slf4j-log4j12.jar

slf4j-jdk14.jar

logback-classic.jar

avatar
Master Mentor

@Sanaz Janbakhsh

After enabling the verbose at the loaded classes on ApplicationTimeline isee that it loads the "org.slf4j.impl.StaticLoggerBinder" class from the following directory:

Example in HDP 2.6.1 cluster

/usr/hdp/2.6.1.0-129/hadoop/lib/slf4j-log4j12-1.7.10.jar

.

So as a temporary workaround , please try putting the "slf4j-log4j" JAR from any other host to the mentioned directory and then restart the Application Timeline Server.

(OR) else please check if the Hadoop Or Hadoop Client components are properly installed on the new host.

.

avatar
Expert Contributor

Hi,

The issue is fixed. I had to delete the rest of the namenodes and just keep one. In HDFS config some of the parameters still pointing to the old servers. I have to replace them with the new server and stop/start all the services.

slf4j-log4j error was misleading error and it was kinds of warning and not error.