Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-7851

Include the guava classes as a dependency for jobs using mapreduce.TableMapReduceUtil

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 0.94.4
    • 0.94.6, 0.95.1
    • None
    • None

    Description

      The guava classes go as a dependency for jobs using TableMapReduceUtil from the org.apache.hadoop.hbase.mapred package but the same doesn't happen for jobs using the same class from org.apache.hadoop.hbase.mapreduce package. Due to this, tasks of the mapreduce jobs that wants to communicate with a secure cluster fails. The stack trace of the failing tasks:

      Error: java.lang.ClassNotFoundException: com.google.common.collect.ImmutableSet
      at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
      at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
      at org.apache.hadoop.hbase.ipc.SecureServer.<clinit>(SecureServer.java:96)

      We just need to add the dependency on the guava classes in the mapreduce.TableMapReduceUtil class.

      Attachments

        1. 7851-1.patch
          0.7 kB
          Devaraj Das

        Activity

          People

            ddas Devaraj Das
            ddas Devaraj Das
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: