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

ClassNotFoundException is thrown when ExportSnapshot runs against hadoop cluster where HBase is not installed on the same node as resourcemanager

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.95.2
    • Fix Version/s: 0.98.0, 0.96.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      First line below was the command, launched from gateway machine:

      $ hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot -Dfs.default.name=hdfs://hor17n25:8020/ -Dhbase.rootdir=hdfs://hor17n25:8020/apps/hbase/data/ -snapshot snapshot_tableone -copy-to hdfs://hor15n02:8020/apps/hbase/data/ -mappers 1
      
      13/09/30 17:23:56 WARN conf.Configuration: hbase-site.xml:an attempt to override final parameter: dfs.support.append; Ignoring.
      13/09/30 17:23:57 INFO Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
      13/09/30 17:23:57 INFO util.FSVisitor: No logs under directory:hdfs://hor17n25:8020/apps/hbase/data/.hbase-snapshot/snapshot_tableone/WALs
      13/09/30 17:23:57 WARN conf.Configuration: hbase-site.xml:an attempt to override final parameter: dfs.support.append; Ignoring.
      13/09/30 17:23:57 INFO client.RMProxy: Connecting to ResourceManager at hor17n25/:8032
      13/09/30 17:23:57 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
      13/09/30 17:23:57 INFO compress.CodecPool: Got brand-new compressor .deflate
      13/09/30 17:23:57 WARN conf.Configuration: hbase-site.xml:an attempt to override final parameter: dfs.support.append; Ignoring.
      13/09/30 17:23:57 INFO client.RMProxy: Connecting to ResourceManager at hor17n25/:8032
      13/09/30 17:23:58 INFO input.FileInputFormat: Total input paths to process : 1
      13/09/30 17:23:58 INFO mapreduce.JobSubmitter: number of splits:1
      13/09/30 17:23:58 INFO Configuration.deprecation: user.name is deprecated. Instead, use mapreduce.job.user.name
      13/09/30 17:23:58 INFO Configuration.deprecation: mapred.jar is deprecated. Instead, use mapreduce.job.jar
      13/09/30 17:23:58 INFO Configuration.deprecation: fs.default.name is deprecated. Instead, use fs.defaultFS
      13/09/30 17:23:58 INFO Configuration.deprecation: mapred.map.tasks.speculative.execution is deprecated. Instead, use mapreduce.map.speculative
      13/09/30 17:23:58 INFO Configuration.deprecation: mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces
      13/09/30 17:23:58 INFO Configuration.deprecation: mapreduce.map.class is deprecated. Instead, use mapreduce.job.map.class
      13/09/30 17:23:58 INFO Configuration.deprecation: mapred.job.name is deprecated. Instead, use mapreduce.job.name
      13/09/30 17:23:58 INFO Configuration.deprecation: mapreduce.inputformat.class is deprecated. Instead, use mapreduce.job.inputformat.class
      13/09/30 17:23:58 INFO Configuration.deprecation: mapred.input.dir is deprecated. Instead, use mapreduce.input.fileinputformat.inputdir
      13/09/30 17:23:58 INFO Configuration.deprecation: mapreduce.outputformat.class is deprecated. Instead, use mapreduce.job.outputformat.class
      13/09/30 17:23:58 INFO Configuration.deprecation: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps
      13/09/30 17:23:58 INFO Configuration.deprecation: mapred.working.dir is deprecated. Instead, use mapreduce.job.working.dir
      13/09/30 17:23:58 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1380335340676_0003
      13/09/30 17:23:58 INFO impl.YarnClientImpl: Submitted application application_1380335340676_0003 to ResourceManager at hor17n25/:8032
      13/09/30 17:23:58 INFO mapreduce.Job: The url to track the job: http://hor17n25:8088/proxy/application_1380335340676_0003/
      13/09/30 17:23:58 INFO mapreduce.Job: Running job: job_1380335340676_0003
      13/09/30 17:24:03 INFO mapreduce.Job: Job job_1380335340676_0003 running in uber mode : false
      13/09/30 17:24:03 INFO mapreduce.Job: map 0% reduce 0%
      13/09/30 17:24:06 INFO mapreduce.Job: Task Id : attempt_1380335340676_0003_m_000000_0, Status : FAILED
      Error: java.lang.ClassNotFoundException: org.apache.hadoop.hbase.TableName
      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.io.HFileLink.getReferencedTableName(HFileLink.java:245)
      at org.apache.hadoop.hbase.snapshot.ExportSnapshot$ExportMapper.getOutputPath(ExportSnapshot.java:154)
      at org.apache.hadoop.hbase.snapshot.ExportSnapshot$ExportMapper.map(ExportSnapshot.java:137)
      at org.apache.hadoop.hbase.snapshot.ExportSnapshot$ExportMapper.map(ExportSnapshot.java:89)
      at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145)
      at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763)
      at org.apache.hadoop.mapred.MapTask.run(MapTask.java:339)
      at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:162)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.security.auth.Subject.doAs(Subject.java:396)
      at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1483)
      at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:157)
      

      resourcemanager runs on hor17n25 where there is no HBase installation.

      The root cause is that .ExportSnapshot#runCopyJob() doesn't specify dependent jars.

        Attachments

        1. 9687.add
          0.5 kB
          Ted Yu
        2. 9687-v1.patch
          1 kB
          Ted Yu
        3. 9687-v12.txt
          2 kB
          Ted Yu

          Activity

            People

            • Assignee:
              yuzhihong@gmail.com Ted Yu
              Reporter:
              yuzhihong@gmail.com Ted Yu
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: