HBase
  1. HBase
  2. HBASE-7851

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

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.94.4
    • Fix Version/s: 0.94.6, 0.95.1
    • Component/s: None
    • Labels:
      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.

      1. 7851-1.patch
        0.7 kB
        Devaraj Das

        Activity

          People

          • Assignee:
            Devaraj Das
            Reporter:
            Devaraj Das
          • Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development