-
Type:
Improvement
-
Status: Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 0.21.0
-
Fix Version/s: 2.9.0, 2.7.4, 3.0.0-alpha4, 2.8.2
-
Component/s: namenode
-
Labels:
-
Target Version/s:
If NameNode is unable to find plugins (specified in dfs.namenode.plugins), it terminates abruptly with the following stack trace:
Failed to start namenode.
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class XXX not found
at org.apache.hadoop.conf.Configuration.getClasses(Configuration.java:2178)
at org.apache.hadoop.conf.Configuration.getInstances(Configuration.java:2250)
at org.apache.hadoop.hdfs.server.namenode.NameNode.startCommonServices(NameNode.java:713)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:691)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:843)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:822)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1543)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1611)
We should catch this exception, log a warning message and let it proceed, as missing the third party library does not affect the functionality of NameNode. We caught this bug during a CDH upgrade where a third party plugin was not in the lib directory of the newer version of CDH.