From 207daabbcc77e729bce313c795acd4e735b3e82e Mon Sep 17 00:00:00 2001 From: Rohith Sharma K S Date: Wed, 7 Mar 2018 12:41:36 +0530 Subject: [PATCH] YARN-8003. Backport the code structure changes in YARN-7346 to branch-2. Contributed by Haibo Chen. --- .../resources/assemblies/hadoop-yarn-dist.xml | 2 +- hadoop-project/pom.xml | 4 +- .../pom.xml | 4 +- .../storage/flow/TestHBaseStorageFlowRun.java | 19 +-- .../TestHBaseStorageFlowRunCompaction.java | 103 +++++++----- .../pom.xml | 6 +- .../pom.xml | 155 ++++++++++++++++++ .../src/assembly/coprocessor.xml | 5 +- .../common/HBaseTimelineServerUtils.java | 91 +++++++++- .../storage/common/package-info.java | 0 .../storage/flow/FlowRunCoprocessor.java | 3 +- .../storage/flow/FlowScanner.java | 18 +- .../storage/flow/FlowScannerOperation.java | 0 .../storage/flow/package-info.java | 0 .../timelineservice/storage/package-info.java | 0 .../pom.xml | 136 +-------------- 16 files changed, 334 insertions(+), 212 deletions(-) create mode 100644 hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/pom.xml rename hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/{ => hadoop-yarn-server-timelineservice-hbase-server-1}/src/assembly/coprocessor.xml (91%) rename hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/{ => hadoop-yarn-server-timelineservice-hbase-server-1}/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/HBaseTimelineServerUtils.java (60%) rename hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/{ => hadoop-yarn-server-timelineservice-hbase-server-1}/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/package-info.java (100%) rename hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/{ => hadoop-yarn-server-timelineservice-hbase-server-1}/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowRunCoprocessor.java (99%) rename hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/{ => hadoop-yarn-server-timelineservice-hbase-server-1}/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScanner.java (97%) rename hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/{ => hadoop-yarn-server-timelineservice-hbase-server-1}/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScannerOperation.java (100%) rename hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/{ => hadoop-yarn-server-timelineservice-hbase-server-1}/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/package-info.java (100%) rename hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/{ => hadoop-yarn-server-timelineservice-hbase-server-1}/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/package-info.java (100%) diff --git a/hadoop-assemblies/src/main/resources/assemblies/hadoop-yarn-dist.xml b/hadoop-assemblies/src/main/resources/assemblies/hadoop-yarn-dist.xml index 6410cf930a7..3c179ed8a48 100644 --- a/hadoop-assemblies/src/main/resources/assemblies/hadoop-yarn-dist.xml +++ b/hadoop-assemblies/src/main/resources/assemblies/hadoop-yarn-dist.xml @@ -222,7 +222,7 @@ - org.apache.hadoop:hadoop-yarn-server-timelineservice-hbase-server + org.apache.hadoop:hadoop-yarn-server-timelineservice-hbase-server-1 share/hadoop/${hadoop.component}/timelineservice diff --git a/hadoop-project/pom.xml b/hadoop-project/pom.xml index f5600880bc0..f78100420dc 100644 --- a/hadoop-project/pom.xml +++ b/hadoop-project/pom.xml @@ -52,6 +52,7 @@ 1.2.6 2.5.1 + 12.0.1 ${project.version} @@ -361,7 +362,7 @@ org.apache.hadoop - hadoop-yarn-server-timelineservice-hbase-server + hadoop-yarn-server-timelineservice-hbase-server-1 ${project.version} @@ -610,7 +611,6 @@ jsp-api 2.1 - org.glassfish javax.servlet diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml index c5ceb5b0594..d74fb5b3c69 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/pom.xml @@ -28,7 +28,7 @@ org.apache.hadoop hadoop-yarn-server-timelineservice-hbase-tests 2.10.0-SNAPSHOT - Apache Hadoop YARN Timeline Service HBase tests + Apache Hadoop YARN TimelineService HBase tests @@ -85,7 +85,7 @@ org.apache.hadoop - hadoop-yarn-server-timelineservice-hbase-server + hadoop-yarn-server-timelineservice-hbase-server-1 test diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/TestHBaseStorageFlowRun.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/TestHBaseStorageFlowRun.java index 622b0eba227..c7d0d4e3e2f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/TestHBaseStorageFlowRun.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/TestHBaseStorageFlowRun.java @@ -25,7 +25,6 @@ import static org.junit.Assert.fail; import java.io.IOException; import java.util.EnumSet; -import java.util.List; import java.util.Map; import java.util.Set; @@ -41,7 +40,6 @@ import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Table; import org.apache.hadoop.hbase.regionserver.HRegionServer; -import org.apache.hadoop.hbase.regionserver.Region; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.yarn.api.records.timelineservice.FlowRunEntity; @@ -64,6 +62,7 @@ import org.apache.hadoop.yarn.server.timelineservice.storage.HBaseTimelineWriter import org.apache.hadoop.yarn.server.timelineservice.storage.TimelineReader.Field; import org.apache.hadoop.yarn.server.timelineservice.storage.common.BaseTableRW; import org.apache.hadoop.yarn.server.timelineservice.storage.common.ColumnHelper; +import org.apache.hadoop.yarn.server.timelineservice.storage.common.HBaseTimelineServerUtils; import org.apache.hadoop.yarn.server.timelineservice.storage.entity.EntityTableRW; import org.junit.AfterClass; import org.junit.BeforeClass; @@ -89,7 +88,7 @@ public class TestHBaseStorageFlowRun { } @Test - public void checkCoProcessorOff() throws IOException, InterruptedException { + public void checkCoProcessorOff() throws Exception, InterruptedException { Configuration hbaseConf = util.getConfiguration(); TableName table = BaseTableRW.getTableName(hbaseConf, FlowRunTableRW.TABLE_NAME_CONF_NAME, FlowRunTableRW.DEFAULT_TABLE_NAME); @@ -127,19 +126,9 @@ public class TestHBaseStorageFlowRun { } private void checkCoprocessorExists(TableName table, boolean exists) - throws IOException, InterruptedException { + throws Exception { HRegionServer server = util.getRSForFirstRegionInTable(table); - List regions = server.getOnlineRegions(table); - for (Region region : regions) { - boolean found = false; - Set coprocs = region.getCoprocessorHost().getCoprocessors(); - for (String coprocName : coprocs) { - if (coprocName.contains("FlowRunCoprocessor")) { - found = true; - } - } - assertEquals(found, exists); - } + HBaseTimelineServerUtils.validateFlowRunCoprocessor(server, table, exists); } /** diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/TestHBaseStorageFlowRunCompaction.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/TestHBaseStorageFlowRunCompaction.java index 31be285e41f..2ff37afc981 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/TestHBaseStorageFlowRunCompaction.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase-tests/src/test/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/TestHBaseStorageFlowRunCompaction.java @@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.HBaseTestingUtility; import org.apache.hadoop.hbase.KeyValue; +import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.Tag; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; @@ -44,9 +45,7 @@ import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.client.Table; -import org.apache.hadoop.hbase.regionserver.Region; import org.apache.hadoop.hbase.regionserver.HRegionServer; -import org.apache.hadoop.hbase.regionserver.compactions.CompactionRequest; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.security.UserGroupInformation; import org.apache.hadoop.yarn.api.records.timelineservice.TimelineEntities; @@ -327,20 +326,15 @@ public class TestHBaseStorageFlowRunCompaction { } // check in flow run table - HRegionServer server = util.getRSForFirstRegionInTable( - BaseTableRW.getTableName(c1, FlowRunTableRW.TABLE_NAME_CONF_NAME, - FlowRunTableRW.DEFAULT_TABLE_NAME)); - List regions = server.getOnlineRegions( - BaseTableRW.getTableName(c1, - FlowRunTableRW.TABLE_NAME_CONF_NAME, - FlowRunTableRW.DEFAULT_TABLE_NAME)); - assertTrue("Didn't find any regions for primary table!", - regions.size() > 0); + TableName flowRunTable = BaseTableRW.getTableName(c1, + FlowRunTableRW.TABLE_NAME_CONF_NAME, FlowRunTableRW.DEFAULT_TABLE_NAME); + HRegionServer server = util.getRSForFirstRegionInTable(flowRunTable); + // flush and compact all the regions of the primary table - for (Region region : regions) { - region.flush(true); - region.compact(true); - } + int regionNum = HBaseTimelineServerUtils.flushCompactTableRegions( + server, flowRunTable); + assertTrue("Didn't find any regions for primary table!", + regionNum > 0); // check flow run for one flow many apps checkFlowRunTable(cluster, user, flow, runid, c1, 4); @@ -392,13 +386,10 @@ public class TestHBaseStorageFlowRunCompaction { private FlowScanner getFlowScannerForTestingCompaction() { // create a FlowScanner object with the sole purpose of invoking a process // summation; - CompactionRequest request = new CompactionRequest(); - request.setIsMajor(true, true); // okay to pass in nulls for the constructor arguments // because all we want to do is invoke the process summation FlowScanner fs = new FlowScanner(null, null, - (request.isMajor() ? FlowScannerOperation.MAJOR_COMPACTION - : FlowScannerOperation.MINOR_COMPACTION)); + FlowScannerOperation.MAJOR_COMPACTION); assertNotNull(fs); return fs; } @@ -423,40 +414,45 @@ public class TestHBaseStorageFlowRunCompaction { SortedSet currentColumnCells = new TreeSet(KeyValue.COMPARATOR); List tags = new ArrayList<>(); - Tag t = new Tag(AggregationOperation.SUM_FINAL.getTagType(), + Tag t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM_FINAL.getTagType(), "application_1234588888_91188"); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with a VERY old timestamp and attribute SUM_FINAL Cell c1 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, aQualifier, cell1Ts, Bytes.toBytes(cellValue1), tagByteArray); currentColumnCells.add(c1); tags = new ArrayList<>(); - t = new Tag(AggregationOperation.SUM_FINAL.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM_FINAL.getTagType(), "application_12700000001_29102"); tags.add(t); - tagByteArray = Tag.fromList(tags); + tagByteArray = HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with a recent timestamp and attribute SUM_FINAL Cell c2 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, aQualifier, cell2Ts, Bytes.toBytes(cellValue2), tagByteArray); currentColumnCells.add(c2); tags = new ArrayList<>(); - t = new Tag(AggregationOperation.SUM.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM.getTagType(), "application_191780000000001_8195"); tags.add(t); - tagByteArray = Tag.fromList(tags); + tagByteArray = HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with a VERY old timestamp but has attribute SUM Cell c3 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, aQualifier, cell3Ts, Bytes.toBytes(cellValue3), tagByteArray); currentColumnCells.add(c3); tags = new ArrayList<>(); - t = new Tag(AggregationOperation.SUM.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM.getTagType(), "application_191780000000001_98104"); tags.add(t); - tagByteArray = Tag.fromList(tags); + tagByteArray = HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with a VERY old timestamp but has attribute SUM Cell c4 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, aQualifier, cell4Ts, Bytes.toBytes(cellValue4), tagByteArray); @@ -523,10 +519,12 @@ public class TestHBaseStorageFlowRunCompaction { // insert SUM_FINAL cells for (int i = 0; i < count; i++) { tags = new ArrayList<>(); - t = new Tag(AggregationOperation.SUM_FINAL.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM_FINAL.getTagType(), "application_123450000" + i + "01_19" + i); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with a VERY old timestamp and attribute SUM_FINAL c1 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, aQualifier, cellTsFinal, Bytes.toBytes(cellValueFinal), tagByteArray); @@ -537,10 +535,12 @@ public class TestHBaseStorageFlowRunCompaction { // add SUM cells for (int i = 0; i < count; i++) { tags = new ArrayList<>(); - t = new Tag(AggregationOperation.SUM.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM.getTagType(), "application_1987650000" + i + "83_911" + i); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with attribute SUM c1 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, aQualifier, cellTsNotFinal, Bytes.toBytes(cellValueNotFinal), tagByteArray); @@ -614,10 +614,12 @@ public class TestHBaseStorageFlowRunCompaction { // insert SUM_FINAL cells which will expire for (int i = 0; i < countFinal; i++) { tags = new ArrayList<>(); - t = new Tag(AggregationOperation.SUM_FINAL.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM_FINAL.getTagType(), "application_123450000" + i + "01_19" + i); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with a VERY old timestamp and attribute SUM_FINAL c1 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, aQualifier, cellTsFinal, Bytes.toBytes(cellValueFinal), tagByteArray); @@ -628,10 +630,12 @@ public class TestHBaseStorageFlowRunCompaction { // insert SUM_FINAL cells which will NOT expire for (int i = 0; i < countFinalNotExpire; i++) { tags = new ArrayList<>(); - t = new Tag(AggregationOperation.SUM_FINAL.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM_FINAL.getTagType(), "application_123450000" + i + "01_19" + i); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with a VERY old timestamp and attribute SUM_FINAL c1 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, aQualifier, cellTsFinalNotExpire, Bytes.toBytes(cellValueFinal), tagByteArray); @@ -642,10 +646,12 @@ public class TestHBaseStorageFlowRunCompaction { // add SUM cells for (int i = 0; i < countNotFinal; i++) { tags = new ArrayList<>(); - t = new Tag(AggregationOperation.SUM.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM.getTagType(), "application_1987650000" + i + "83_911" + i); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with attribute SUM c1 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, aQualifier, cellTsNotFinal, Bytes.toBytes(cellValueNotFinal), tagByteArray); @@ -697,10 +703,12 @@ public class TestHBaseStorageFlowRunCompaction { long cellValue2 = 28L; List tags = new ArrayList<>(); - Tag t = new Tag(AggregationOperation.SUM_FINAL.getTagType(), + Tag t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM_FINAL.getTagType(), "application_1234588888_999888"); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); SortedSet currentColumnCells = new TreeSet(KeyValue.COMPARATOR); // create a cell with a VERY old timestamp and attribute SUM_FINAL @@ -709,10 +717,11 @@ public class TestHBaseStorageFlowRunCompaction { currentColumnCells.add(c1); tags = new ArrayList<>(); - t = new Tag(AggregationOperation.SUM.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM.getTagType(), "application_100000000001_119101"); tags.add(t); - tagByteArray = Tag.fromList(tags); + tagByteArray = HBaseTimelineServerUtils.convertTagListToByteArray(tags); // create a cell with a VERY old timestamp but has attribute SUM Cell c2 = HBaseTimelineServerUtils.createNewCell(aRowKey, aFamily, @@ -755,10 +764,12 @@ public class TestHBaseStorageFlowRunCompaction { // note down the current timestamp long currentTimestamp = System.currentTimeMillis(); List tags = new ArrayList<>(); - Tag t = new Tag(AggregationOperation.SUM_FINAL.getTagType(), + Tag t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM_FINAL.getTagType(), "application_123458888888_999888"); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); SortedSet currentColumnCells = new TreeSet(KeyValue.COMPARATOR); // create a cell with a VERY old timestamp @@ -793,10 +804,12 @@ public class TestHBaseStorageFlowRunCompaction { // try for 1 cell with tag SUM List tags = new ArrayList<>(); - Tag t = new Tag(AggregationOperation.SUM.getTagType(), + Tag t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM.getTagType(), "application_123458888888_999888"); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); SortedSet currentColumnCells = new TreeSet(KeyValue.COMPARATOR); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-client/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-client/pom.xml index d71c5891569..618399d9f96 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-client/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-client/pom.xml @@ -40,8 +40,8 @@ - commons-logging - commons-logging + org.slf4j + slf4j-api @@ -92,7 +92,7 @@ org.apache.hadoop - hadoop-yarn-server-applicationhistoryservice + hadoop-yarn-server-common provided diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/pom.xml new file mode 100644 index 00000000000..995b281a209 --- /dev/null +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/pom.xml @@ -0,0 +1,155 @@ + + + + + hadoop-yarn-server-timelineservice-hbase-server + org.apache.hadoop + 2.10.0-SNAPSHOT + + + 4.0.0 + hadoop-yarn-server-timelineservice-hbase-server-1 + Apache Hadoop YARN TimelineService HBase Server 1.2 + 2.10.0-SNAPSHOT + + + + ${project.parent.parent.parent.parent.basedir} + + + + + org.apache.hadoop + hadoop-yarn-server-timelineservice-hbase-common + + + + org.slf4j + slf4j-api + + + + com.google.guava + guava + + + + org.apache.hadoop + hadoop-annotations + provided + + + + org.apache.hadoop + hadoop-common + provided + + + + org.apache.hadoop + hadoop-yarn-api + provided + + + + org.apache.hbase + hbase-common + + + org.apache.hadoop + hadoop-mapreduce-client-core + + + org.mortbay.jetty + jetty-util + + + + + + org.apache.hbase + hbase-client + + + org.apache.hadoop + hadoop-mapreduce-client-core + + + + + + org.apache.hbase + hbase-server + provided + + + org.apache.hadoop + hadoop-hdfs + + + org.apache.hadoop + hadoop-hdfs-client + + + org.apache.hadoop + hadoop-client + + + org.apache.hadoop + hadoop-mapreduce-client-core + + + org.mortbay.jetty + jetty + + + org.mortbay.jetty + jetty-util + + + org.mortbay.jetty + jetty-sslengine + + + + + + + + + maven-assembly-plugin + + src/assembly/coprocessor.xml + true + + + + create-coprocessor-jar + prepare-package + + single + + + + + + + \ No newline at end of file diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/assembly/coprocessor.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/assembly/coprocessor.xml similarity index 91% rename from hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/assembly/coprocessor.xml rename to hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/assembly/coprocessor.xml index 01ff0dd0631..dd53bf22c22 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/assembly/coprocessor.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/assembly/coprocessor.xml @@ -16,7 +16,8 @@ --> + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.3 + http://maven.apache.org/xsd/assembly-1.1.3.xsd"> coprocessor jar @@ -30,7 +31,7 @@ runtime org.apache.hadoop:hadoop-yarn-server-timelineservice-hbase-common - org.apache.hadoop:hadoop-yarn-server-timelineservice-hbase-server + org.apache.hadoop:hadoop-yarn-server-timelineservice-hbase-server-1 diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/HBaseTimelineServerUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/HBaseTimelineServerUtils.java similarity index 60% rename from hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/HBaseTimelineServerUtils.java rename to hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/HBaseTimelineServerUtils.java index 5c07670a624..3a9e2596c2c 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/HBaseTimelineServerUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/HBaseTimelineServerUtils.java @@ -20,7 +20,10 @@ package org.apache.hadoop.yarn.server.timelineservice.storage.common; import org.apache.hadoop.hbase.Cell; import org.apache.hadoop.hbase.CellUtil; import org.apache.hadoop.hbase.KeyValue; +import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.Tag; +import org.apache.hadoop.hbase.regionserver.HRegionServer; +import org.apache.hadoop.hbase.regionserver.Region; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.yarn.server.timelineservice.storage.flow.AggregationCompactionDimension; import org.apache.hadoop.yarn.server.timelineservice.storage.flow.AggregationOperation; @@ -28,6 +31,7 @@ import org.apache.hadoop.yarn.server.timelineservice.storage.flow.AggregationOpe import java.io.IOException; import java.util.List; import java.util.Map; +import java.util.Set; /** * A utility class used by hbase-server module. @@ -49,7 +53,7 @@ public final class HBaseTimelineServerUtils { AggregationOperation aggOp = AggregationOperation .getAggregationOperation(attribute.getKey()); if (aggOp != null) { - Tag t = new Tag(aggOp.getTagType(), attribute.getValue()); + Tag t = createTag(aggOp.getTagType(), attribute.getValue()); return t; } @@ -57,7 +61,7 @@ public final class HBaseTimelineServerUtils { AggregationCompactionDimension.getAggregationCompactionDimension( attribute.getKey()); if (aggCompactDim != null) { - Tag t = new Tag(aggCompactDim.getTagType(), attribute.getValue()); + Tag t = createTag(aggCompactDim.getTagType(), attribute.getValue()); return t; } return null; @@ -96,6 +100,45 @@ public final class HBaseTimelineServerUtils { newValue, tags); } + /** + * Create a Tag. + * @param tagType tag type + * @param tag the content of the tag in byte array. + * @return an instance of Tag + */ + public static Tag createTag(byte tagType, byte[] tag) { + return new Tag(tagType, tag); + } + + /** + * Create a Tag. + * @param tagType tag type + * @param tag the content of the tag in String. + * @return an instance of Tag + */ + public static Tag createTag(byte tagType, String tag) { + return createTag(tagType, Bytes.toBytes(tag)); + } + + /** + * Convert a cell to a list of tags. + * @param cell the cell to convert + * @return a list of tags + */ + public static List convertCellAsTagList(Cell cell) { + return Tag.asList( + cell.getTagsArray(), cell.getTagsOffset(), cell.getTagsLength()); + } + + /** + * Convert a list of tags to a byte array. + * @param tags the list of tags to convert + * @return byte array representation of the list of tags + */ + public static byte[] convertTagListToByteArray(List tags) { + return Tag.fromList(tags); + } + /** * returns app id from the list of tags. * @@ -132,4 +175,48 @@ public final class HBaseTimelineServerUtils { } return null; } + + // flush and compact all the regions of the primary table + + /** + * Flush and compact all regions of a table. + * @param server region server + * @param table the table to flush and compact + * @return the number of regions flushed and compacted + */ + public static int flushCompactTableRegions(HRegionServer server, + TableName table) throws IOException { + List regions = server.getOnlineRegions(table); + for (Region region : regions) { + region.flush(true); + region.compact(true); + } + return regions.size(); + } + + /** + * Check the existence of FlowRunCoprocessor in a table. + * @param server region server + * @param table table to check + * @param existenceExpected true if the FlowRunCoprocessor is expected + * to be loaded in the table, false otherwise + * @throws Exception + */ + public static void validateFlowRunCoprocessor(HRegionServer server, + TableName table, boolean existenceExpected) throws Exception { + List regions = server.getOnlineRegions(table); + for (Region region : regions) { + boolean found = false; + Set coprocs = region.getCoprocessorHost().getCoprocessors(); + for (String coprocName : coprocs) { + if (coprocName.contains("FlowRunCoprocessor")) { + found = true; + } + } + if (found != existenceExpected) { + throw new Exception("FlowRunCoprocessor is" + + (existenceExpected ? " not " : " ") + "loaded in table " + table); + } + } + } } diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/package-info.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/package-info.java similarity index 100% rename from hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/package-info.java rename to hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/common/package-info.java diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowRunCoprocessor.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowRunCoprocessor.java similarity index 99% rename from hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowRunCoprocessor.java rename to hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowRunCoprocessor.java index 41a371b5227..c526f58517d 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowRunCoprocessor.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowRunCoprocessor.java @@ -102,7 +102,8 @@ public class FlowRunCoprocessor extends BaseRegionObserver { tags.add(t); } } - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); NavigableMap> newFamilyMap = new TreeMap<>( Bytes.BYTES_COMPARATOR); for (Map.Entry> entry : put.getFamilyCellMap() diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScanner.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScanner.java similarity index 97% rename from hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScanner.java rename to hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScanner.java index 7f09e518ce2..31122cae651 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScanner.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScanner.java @@ -247,8 +247,7 @@ class FlowScanner implements RegionScanner, Closeable { } private AggregationOperation getCurrentAggOp(Cell cell) { - List tags = Tag.asList(cell.getTagsArray(), cell.getTagsOffset(), - cell.getTagsLength()); + List tags = HBaseTimelineServerUtils.convertCellAsTagList(cell); // We assume that all the operations for a particular column are the same return HBaseTimelineServerUtils.getAggregationOperationFromTagsList(tags); } @@ -316,8 +315,7 @@ class FlowScanner implements RegionScanner, Closeable { } // only if this app has not been seen yet, add to current column cells - List tags = Tag.asList(cell.getTagsArray(), cell.getTagsOffset(), - cell.getTagsLength()); + List tags = HBaseTimelineServerUtils.convertCellAsTagList(cell); String aggDim = HBaseTimelineServerUtils .getAggregationCompactionDimension(tags); if (!alreadySeenAggDim.contains(aggDim)) { @@ -454,8 +452,7 @@ class FlowScanner implements RegionScanner, Closeable { for (Cell cell : currentColumnCells) { AggregationOperation cellAggOp = getCurrentAggOp(cell); // if this is the existing flow sum cell - List tags = Tag.asList(cell.getTagsArray(), cell.getTagsOffset(), - cell.getTagsLength()); + List tags = HBaseTimelineServerUtils.convertCellAsTagList(cell); String appId = HBaseTimelineServerUtils .getAggregationCompactionDimension(tags); if (appId == FLOW_APP_ID) { @@ -491,13 +488,16 @@ class FlowScanner implements RegionScanner, Closeable { if (summationDone) { Cell anyCell = currentColumnCells.first(); List tags = new ArrayList(); - Tag t = new Tag(AggregationOperation.SUM_FINAL.getTagType(), + Tag t = HBaseTimelineServerUtils.createTag( + AggregationOperation.SUM_FINAL.getTagType(), Bytes.toBytes(FLOW_APP_ID)); tags.add(t); - t = new Tag(AggregationCompactionDimension.APPLICATION_ID.getTagType(), + t = HBaseTimelineServerUtils.createTag( + AggregationCompactionDimension.APPLICATION_ID.getTagType(), Bytes.toBytes(FLOW_APP_ID)); tags.add(t); - byte[] tagByteArray = Tag.fromList(tags); + byte[] tagByteArray = + HBaseTimelineServerUtils.convertTagListToByteArray(tags); Cell sumCell = HBaseTimelineServerUtils.createNewCell( CellUtil.cloneRow(anyCell), CellUtil.cloneFamily(anyCell), diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScannerOperation.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScannerOperation.java similarity index 100% rename from hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScannerOperation.java rename to hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/FlowScannerOperation.java diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/package-info.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/package-info.java similarity index 100% rename from hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/package-info.java rename to hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/flow/package-info.java diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/package-info.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/package-info.java similarity index 100% rename from hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/package-info.java rename to hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-1/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/package-info.java diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/pom.xml index 1041437d397..dc93e5c3c45 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/pom.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/pom.xml @@ -24,138 +24,14 @@ org.apache.hadoop 2.10.0-SNAPSHOT - 4.0.0 + hadoop-yarn-server-timelineservice-hbase-server - Apache Hadoop YARN TimelineService HBase Server 2.10.0-SNAPSHOT + Apache Hadoop YARN TimelineService HBase Servers + pom - - - ${project.parent.parent.parent.basedir} - - - - - commons-logging - commons-logging - - - - com.google.guava - guava - - - - org.apache.hadoop - hadoop-common - provided - - - - org.apache.hadoop - hadoop-yarn-api - provided - - - - org.apache.hadoop - hadoop-yarn-server-timelineservice-hbase-common - - - - org.apache.hbase - hbase-common - provided - - - org.apache.hadoop - hadoop-mapreduce-client-core - - - org.mortbay.jetty - jetty-util - - - - - - org.apache.hbase - hbase-client - provided - - - org.apache.hadoop - hadoop-mapreduce-client-core - - - - - - org.apache.hbase - hbase-server - provided - - - org.apache.hadoop - hadoop-hdfs - - - org.apache.hadoop - hadoop-hdfs-client - - - org.apache.hadoop - hadoop-client - - - org.apache.hadoop - hadoop-mapreduce-client-core - - - org.mortbay.jetty - jetty - - - org.mortbay.jetty - jetty-util - - - org.mortbay.jetty - jetty-sslengine - - - - - - - - - maven-assembly-plugin - - src/assembly/coprocessor.xml - true - - - - create-coprocessor-jar - prepare-package - - single - - - - - - maven-jar-plugin - - - - test-jar - - - - - - + + hadoop-yarn-server-timelineservice-hbase-server-1 + \ No newline at end of file