From 74c517a8bcf8197c4fe0fc0c2de9fa9a57c83d0e Mon Sep 17 00:00:00 2001 From: Michael Stack Date: Mon, 28 Aug 2017 22:14:49 -0700 Subject: [PATCH] HBASE-18698 MapreduceDependencyClasspathTool does not include hbase-server as a dependency Move Driver to be the main-class in hbase-mapreduce jar rather than in the hbase-server jar. Reference the hbase-server and shaded protobuf so they get bundled when you do 'hbase mapredcp'. --- hbase-mapreduce/pom.xml | 14 ++++++++++++++ .../hadoop/hbase/mapred/TableMapReduceUtil.java | 2 -- .../org/apache/hadoop/hbase/mapreduce/Driver.java | 6 +++--- .../hadoop/hbase/mapreduce/TableMapReduceUtil.java | 2 ++ hbase-server/pom.xml | 5 ----- 5 files changed, 19 insertions(+), 10 deletions(-) diff --git a/hbase-mapreduce/pom.xml b/hbase-mapreduce/pom.xml index 2d3f859d4b0..0875a9783ad 100644 --- a/hbase-mapreduce/pom.xml +++ b/hbase-mapreduce/pom.xml @@ -52,6 +52,20 @@ true + + org.apache.maven.plugins + maven-jar-plugin + + + + + org/apache/hadoop/hbase/mapreduce/Driver + + + + maven-surefire-plugin diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java index 63ec4189a0e..f08c7ff4669 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapred/TableMapReduceUtil.java @@ -362,8 +362,6 @@ public class TableMapReduceUtil { org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addHBaseDependencyJars(job); org.apache.hadoop.hbase.mapreduce.TableMapReduceUtil.addDependencyJarsForClasses( job, - // when making changes here, consider also mapreduce.TableMapReduceUtil - // pull job classes job.getMapOutputKeyClass(), job.getMapOutputValueClass(), job.getOutputKeyClass(), diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/Driver.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/Driver.java index 9737b557b16..1c69e77c263 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/Driver.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/Driver.java @@ -51,9 +51,9 @@ public class Driver { pgd.addClass(CopyTable.NAME, CopyTable.class, "Export a table from local cluster to peer cluster."); pgd.addClass(VerifyReplication.NAME, VerifyReplication.class, "Compare" + - " the data from tables in two different clusters. WARNING: It" + - " doesn't work for incrementColumnValues'd cells since the" + - " timestamp is changed after being appended to the log."); + " data from tables in two different clusters. It" + + " doesn't work for incrementColumnValues'd cells since" + + " timestamp is changed after appending to WAL."); pgd.addClass(WALPlayer.NAME, WALPlayer.class, "Replay WAL files."); pgd.addClass(ExportSnapshot.NAME, ExportSnapshot.class, "Export" + " the specific snapshot to a given FileSystem."); diff --git a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java index ff458fffffe..5517c9c3c9a 100644 --- a/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java +++ b/hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java @@ -784,6 +784,7 @@ public class TableMapReduceUtil { org.apache.hadoop.hbase.protobuf.generated.ClientProtos.class, // hbase-protocol org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.class, // hbase-protocol-shaded org.apache.hadoop.hbase.client.Put.class, // hbase-client + org.apache.hadoop.hbase.ipc.RpcServer.class, // hbase-server org.apache.hadoop.hbase.CompatibilityFactory.class, // hbase-hadoop-compat org.apache.hadoop.hbase.mapreduce.JobUtil.class, // hbase-hadoop2-compat org.apache.hadoop.hbase.mapreduce.TableMapper.class, // hbase-server @@ -794,6 +795,7 @@ public class TableMapReduceUtil { org.apache.zookeeper.ZooKeeper.class, org.apache.hadoop.hbase.shaded.io.netty.channel.Channel.class, com.google.protobuf.Message.class, + org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations.class, org.apache.hadoop.hbase.shaded.com.google.common.collect.Lists.class, org.apache.htrace.Trace.class, com.codahale.metrics.MetricRegistry.class); diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml index b0468d62f5c..65e9aa47456 100644 --- a/hbase-server/pom.xml +++ b/hbase-server/pom.xml @@ -117,11 +117,6 @@ org.apache.maven.plugins maven-jar-plugin - - - org/apache/hadoop/hbase/mapreduce/Driver - -