PerformanceEvaluation does not set the correct classpath for MR because it
lives in the test jar
------------------------------------------------------------------------------------------------
Key: HBASE-5276
URL: https://issues.apache.org/jira/browse/HBASE-5276
Project: HBase
Issue Type: Bug
Components: test
Affects Versions: 0.90.4
Reporter: Tim Robertson
Priority: Minor
Note: This was discovered running the CDH version hbase-0.90.4-cdh3u2
Running the PerformanceEvaluation as follows:
$HADOOP_HOME/bin/hadoop org.apache.hadoop.hbase.PerformanceEvaluation scan 5
fails because the MR tasks do not get the HBase jar on the CP, and thus hit
ClassNotFoundExceptions.
The job gets the following only:
file:/Users/tim/dev/hadoop/hbase-0.90.4-cdh3u2/hbase-0.90.4-cdh3u2-tests.jar
file:/Users/tim/dev/hadoop/hadoop-0.20.2-cdh3u2/hadoop-core-0.20.2-cdh3u2.jar
file:/Users/tim/dev/hadoop/hbase-0.90.4-cdh3u2/lib/zookeeper-3.3.3-cdh3u2.jar
The RowCounter etc all work because they live in the HBase jar, not the test
jar, and they get the following
file:/Users/tim/dev/hadoop/hbase-0.90.4-cdh3u2/lib/guava-r06.jar
file:/Users/tim/dev/hadoop/hadoop-0.20.2-cdh3u2/hadoop-core-0.20.2-cdh3u2.jar
file:/Users/tim/dev/hadoop/hbase-0.90.4-cdh3u2/hbase-0.90.4-cdh3u2.jar
file:/Users/tim/dev/hadoop/hbase-0.90.4-cdh3u2/lib/zookeeper-3.3.3-cdh3u2.jar
Presumably this relates to
job.setJarByClass(PerformanceEvaluation.class);
...
TableMapReduceUtil.addDependencyJars(job);
A (cowboy) workaround to run PE is to unpack the jars, and copy the
PerformanceEvaluation* classes building a patched jar.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira