[jira] [Updated] (YARN-5835) NoClassDefFoundError when reading ATS v1.5
[ https://issues.apache.org/jira/browse/YARN-5835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhiyuan Yang updated YARN-5835: --- Description: LevelDBCacheTimelineStore requires jackson-databind-2.2.3.jar which is in $HADOOP_HOME/share/hadoop/tools/lib but is never added in timeline server's classpath. Reading data from LevelDBCacheTimelineStore will get NoClassDefFoundError. Here's the stacktrace: {code:java} java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.getEntityForKey(LevelDBCacheTimelineStore.java:296) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.get(LevelDBCacheTimelineStore.java:161) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.get(LevelDBCacheTimelineStore.java:140) at org.apache.hadoop.yarn.server.timeline.KeyValueBasedTimelineStore.getEntity(KeyValueBasedTimelineStore.java:199) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore.getEntity(LevelDBCacheTimelineStore.java:58) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.doPostEntities(TimelineDataManager.java:349) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.postEntities(TimelineDataManager.java:317) at org.apache.hadoop.yarn.server.timeline.EntityLogInfo.doParse(LogInfo.java:204) at org.apache.hadoop.yarn.server.timeline.LogInfo.parsePath(LogInfo.java:156) at org.apache.hadoop.yarn.server.timeline.LogInfo.parseForStore(LogInfo.java:113) at org.apache.hadoop.yarn.server.timeline.EntityCacheItem.refreshCache(EntityCacheItem.java:143) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getCachedStore(EntityGroupFSTimelineStore.java:938) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getTimelineStoresFromCacheIds(EntityGroupFSTimelineStore.java:853) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getTimelineStoresForRead(EntityGroupFSTimelineStore.java:906) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getEntities(EntityGroupFSTimelineStore.java:959) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.doGetEntities(TimelineDataManager.java:169) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.getEntities(TimelineDataManager.java:139) at org.apache.hadoop.yarn.server.timeline.webapp.TimelineWebServices.getEntities(TimelineWebServices.java:119) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) {code} A temporary fix would be adding $HADOOP_HOME/share/hadoop/tools/lib/* into HADOOP_CLASSPATH manually. was: LevelDBCacheTimelineStore requires jackson-databind-2.2.3.jar which is in /hadoop/shared/hadoop/tools but is never added in timeline server's classpath. Reading data from LevelDBCacheTimelineStore will get NoClassDefFoundError. Here's the stacktrace: {code:java} java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.getEntityForKey(LevelDBCacheTimelineStore.java:296) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.get(LevelDBCacheTimelineStore.java:161) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.get(LevelDBCacheTimelineStore.java:140) at org.apache.hadoop.yarn.server.timeline.KeyValueBasedTimelineStore.getEntity(KeyValueBasedTimelineStore.java:199) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore.getEntity(LevelDBCacheTimelineStore.java:58) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.doPostEntities(TimelineDataManager.java:349) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.postEntities(TimelineDataManager.java:317) at org.apache.hadoop.yarn.server.timeline.EntityLogInfo.doParse(LogInfo.java:204) at org.apache.hadoop.yarn.server.timeline.LogInfo.parsePath(LogInfo.java:156) at org.apache.hadoop.yarn.server.timeline.LogInfo.parseForStore(LogInfo.java:113) at org.apache.hadoop.yarn.server.timeline.EntityCacheItem.refreshCache(EntityCacheItem.java:143) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getCachedStore(EntityGroupFSTimelineStore.java:938) at
[jira] [Updated] (YARN-5835) NoClassDefFoundError when reading ATS v1.5
[ https://issues.apache.org/jira/browse/YARN-5835?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Zhiyuan Yang updated YARN-5835: --- Description: LevelDBCacheTimelineStore requires jackson-databind-2.2.3.jar which is in /hadoop/shared/hadoop/tools but is never added in timeline server's classpath. Reading data from LevelDBCacheTimelineStore will get NoClassDefFoundError. Here's the stacktrace: {code:java} java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.getEntityForKey(LevelDBCacheTimelineStore.java:296) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.get(LevelDBCacheTimelineStore.java:161) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.get(LevelDBCacheTimelineStore.java:140) at org.apache.hadoop.yarn.server.timeline.KeyValueBasedTimelineStore.getEntity(KeyValueBasedTimelineStore.java:199) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore.getEntity(LevelDBCacheTimelineStore.java:58) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.doPostEntities(TimelineDataManager.java:349) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.postEntities(TimelineDataManager.java:317) at org.apache.hadoop.yarn.server.timeline.EntityLogInfo.doParse(LogInfo.java:204) at org.apache.hadoop.yarn.server.timeline.LogInfo.parsePath(LogInfo.java:156) at org.apache.hadoop.yarn.server.timeline.LogInfo.parseForStore(LogInfo.java:113) at org.apache.hadoop.yarn.server.timeline.EntityCacheItem.refreshCache(EntityCacheItem.java:143) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getCachedStore(EntityGroupFSTimelineStore.java:938) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getTimelineStoresFromCacheIds(EntityGroupFSTimelineStore.java:853) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getTimelineStoresForRead(EntityGroupFSTimelineStore.java:906) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getEntities(EntityGroupFSTimelineStore.java:959) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.doGetEntities(TimelineDataManager.java:169) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.getEntities(TimelineDataManager.java:139) at org.apache.hadoop.yarn.server.timeline.webapp.TimelineWebServices.getEntities(TimelineWebServices.java:119) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) {code} A temporary fix would be adding /hadoop/shared/hadoop/tools into HADOOP_CLASSPATH manually. was: LevelDBCacheTimelineStore requires jackson-databind-2.2.3.jar which is in /hadoop/shared/hadoop/tools but is never added in timeline server's classpath. Reading data from LevelDBCacheTimelineStore will get NoClassDefFoundError. Here's the stacktrace: {code:java} java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ObjectMapper at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.getEntityForKey(LevelDBCacheTimelineStore.java:296) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.get(LevelDBCacheTimelineStore.java:161) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore$LevelDBMapAdapter.get(LevelDBCacheTimelineStore.java:140) at org.apache.hadoop.yarn.server.timeline.KeyValueBasedTimelineStore.getEntity(KeyValueBasedTimelineStore.java:199) at org.apache.hadoop.yarn.server.timeline.LevelDBCacheTimelineStore.getEntity(LevelDBCacheTimelineStore.java:58) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.doPostEntities(TimelineDataManager.java:349) at org.apache.hadoop.yarn.server.timeline.TimelineDataManager.postEntities(TimelineDataManager.java:317) at org.apache.hadoop.yarn.server.timeline.EntityLogInfo.doParse(LogInfo.java:204) at org.apache.hadoop.yarn.server.timeline.LogInfo.parsePath(LogInfo.java:156) at org.apache.hadoop.yarn.server.timeline.LogInfo.parseForStore(LogInfo.java:113) at org.apache.hadoop.yarn.server.timeline.EntityCacheItem.refreshCache(EntityCacheItem.java:143) at org.apache.hadoop.yarn.server.timeline.EntityGroupFSTimelineStore.getCachedStore(EntityGroupFSTimelineStore.java:938) at