Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-5835

NoClassDefFoundError when reading ATS v1.5

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None
    • None

    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:

      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)
      

      A temporary fix would be adding $HADOOP_HOME/share/hadoop/tools/lib/* into HADOOP_CLASSPATH manually.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              zhiyuany Zhiyuan Yang
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: