Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.0.0
-
None
-
None
-
None
Description
While testing, I encountered a NoClassDefFoundError for Nimbus at startup. This caused Nimbus to shutdown with 0 lines in the log file.
Adding test code to catch the exception, I was able to see the log messages and fix the issue (see callstack below).
We should be logging the error on shutdown for debugging.
2018-02-19 14:56:28.842 o.a.s.d.n.Nimbus main [ERROR] Failed to initialize metric store
org.apache.storm.metricstore.MetricException: Failed to create metric store
at org.apache.storm.metricstore.MetricStoreConfig.configureMetricStore(MetricStoreConfig.java:41) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.daemon.nimbus.Nimbus.<init>(Nimbus.java:1113) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.daemon.nimbus.Nimbus.<init>(Nimbus.java:1103) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.daemon.nimbus.Nimbus.<init>(Nimbus.java:1098) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.daemon.nimbus.Nimbus.launchServer(Nimbus.java:1008) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.daemon.nimbus.Nimbus.launch(Nimbus.java:1026) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at org.apache.storm.daemon.nimbus.Nimbus.main(Nimbus.java:1031) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/io/RawComparator
at org.apache.storm.hbasemetricstore.HBaseStore.<clinit>(HBaseStore.java:87) ~[storm-hbasemetricstore-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_131]
at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_131]
at org.apache.storm.metricstore.MetricStoreConfig.configureMetricStore(MetricStoreConfig.java:37) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
... 6 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.io.RawComparator
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_131]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_131]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[?:1.8.0_131]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_131]
at org.apache.storm.hbasemetricstore.HBaseStore.<clinit>(HBaseStore.java:87) ~[storm-hbasemetricstore-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
at java.lang.Class.forName0(Native Method) ~[?:1.8.0_131]
at java.lang.Class.forName(Class.java:264) ~[?:1.8.0_131]
at org.apache.storm.metricstore.MetricStoreConfig.configureMetricStore(MetricStoreConfig.java:37) ~[storm-server-2.0.0-SNAPSHOT.jar:2.0.0-SNAPSHOT]
... 6 more