|
@@ -20,7 +20,6 @@ package org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline
|
|
|
import org.apache.commons.io.FilenameUtils;
|
|
|
import org.apache.hadoop.conf.Configuration;
|
|
|
import org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.PhoenixHBaseAccessor;
|
|
|
-import org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.availability.TimelineMetricHAController;
|
|
|
import org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.discovery.TimelineMetricMetadataManager;
|
|
|
|
|
|
import static java.util.concurrent.TimeUnit.SECONDS;
|
|
@@ -30,12 +29,12 @@ import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.ti
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_HOUR_CHECKPOINT_CUTOFF_MULTIPLIER;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_HOUR_DISABLED;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_HOUR_SLEEP_INTERVAL;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_MINUTE_CHECKPOINT_CUTOFF_MULTIPLIER;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_MINUTE_DISABLED;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_MINUTE_SLEEP_INTERVAL;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_SECOND_CHECKPOINT_CUTOFF_MULTIPLIER;
|
|
|
+import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_MINUTE_CHECKPOINT_CUTOFF_MULTIPLIER;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_SECOND_DISABLED;
|
|
|
+import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_MINUTE_DISABLED;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_SECOND_SLEEP_INTERVAL;
|
|
|
+import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_MINUTE_SLEEP_INTERVAL;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.CLUSTER_AGGREGATOR_TIMESLICE_INTERVAL;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.DEFAULT_CHECKPOINT_LOCATION;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.HOST_AGGREGATOR_DAILY_CHECKPOINT_CUTOFF_MULTIPLIER;
|
|
@@ -49,13 +48,6 @@ import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.ti
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.HOST_AGGREGATOR_MINUTE_SLEEP_INTERVAL;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.TIMELINE_METRICS_AGGREGATOR_CHECKPOINT_DIR;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.TimelineMetricConfiguration.USE_GROUPBY_AGGREGATOR_QUERIES;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.availability.AggregationTaskRunner.AGGREGATOR_NAME.METRIC_AGGREGATE_DAILY;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.availability.AggregationTaskRunner.AGGREGATOR_NAME.METRIC_AGGREGATE_HOURLY;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.availability.AggregationTaskRunner.AGGREGATOR_NAME.METRIC_AGGREGATE_MINUTE;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.availability.AggregationTaskRunner.AGGREGATOR_NAME.METRIC_AGGREGATE_SECOND;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.availability.AggregationTaskRunner.AGGREGATOR_NAME.METRIC_RECORD_DAILY;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.availability.AggregationTaskRunner.AGGREGATOR_NAME.METRIC_RECORD_HOURLY;
|
|
|
-import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.availability.AggregationTaskRunner.AGGREGATOR_NAME.METRIC_RECORD_MINUTE;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.query.PhoenixTransactSQL.METRICS_AGGREGATE_DAILY_TABLE_NAME;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.query.PhoenixTransactSQL.METRICS_AGGREGATE_HOURLY_TABLE_NAME;
|
|
|
import static org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.query.PhoenixTransactSQL.METRICS_AGGREGATE_MINUTE_TABLE_NAME;
|
|
@@ -94,8 +86,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
* Interval : 5 mins
|
|
|
*/
|
|
|
public static TimelineMetricAggregator createTimelineMetricAggregatorMinute
|
|
|
- (PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf,
|
|
|
- TimelineMetricHAController haController) {
|
|
|
+ (PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf) {
|
|
|
|
|
|
String checkpointDir = metricsConf.get(
|
|
|
TIMELINE_METRICS_AGGREGATOR_CHECKPOINT_DIR, DEFAULT_CHECKPOINT_LOCATION);
|
|
@@ -113,7 +104,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
|
|
|
if (useGroupByAggregator(metricsConf)) {
|
|
|
return new org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.aggregators.v2.TimelineMetricHostAggregator(
|
|
|
- METRIC_RECORD_MINUTE,
|
|
|
+ "TimelineMetricHostAggregatorMinute",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -121,13 +112,12 @@ public class TimelineMetricAggregatorFactory {
|
|
|
hostAggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 120000l,
|
|
|
- haController
|
|
|
+ 120000l
|
|
|
);
|
|
|
}
|
|
|
|
|
|
return new TimelineMetricHostAggregator(
|
|
|
- METRIC_RECORD_MINUTE,
|
|
|
+ "TimelineMetricHostAggregatorMinute",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -135,8 +125,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
hostAggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 120000l,
|
|
|
- haController);
|
|
|
+ 120000l);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -144,8 +133,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
* Interval : 1 hour
|
|
|
*/
|
|
|
public static TimelineMetricAggregator createTimelineMetricAggregatorHourly
|
|
|
- (PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf,
|
|
|
- TimelineMetricHAController haController) {
|
|
|
+ (PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf) {
|
|
|
|
|
|
String checkpointDir = metricsConf.get(
|
|
|
TIMELINE_METRICS_AGGREGATOR_CHECKPOINT_DIR, DEFAULT_CHECKPOINT_LOCATION);
|
|
@@ -163,7 +151,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
|
|
|
if (useGroupByAggregator(metricsConf)) {
|
|
|
return new org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.aggregators.v2.TimelineMetricHostAggregator(
|
|
|
- METRIC_RECORD_HOURLY,
|
|
|
+ "TimelineMetricHostAggregatorHourly",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -171,13 +159,12 @@ public class TimelineMetricAggregatorFactory {
|
|
|
hostAggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 3600000l,
|
|
|
- haController
|
|
|
+ 3600000l
|
|
|
);
|
|
|
}
|
|
|
|
|
|
return new TimelineMetricHostAggregator(
|
|
|
- METRIC_RECORD_HOURLY,
|
|
|
+ "TimelineMetricHostAggregatorHourly",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -185,8 +172,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
hostAggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 3600000l,
|
|
|
- haController);
|
|
|
+ 3600000l);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -194,8 +180,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
* Interval : 1 day
|
|
|
*/
|
|
|
public static TimelineMetricAggregator createTimelineMetricAggregatorDaily
|
|
|
- (PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf,
|
|
|
- TimelineMetricHAController haController) {
|
|
|
+ (PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf) {
|
|
|
|
|
|
String checkpointDir = metricsConf.get(
|
|
|
TIMELINE_METRICS_AGGREGATOR_CHECKPOINT_DIR, DEFAULT_CHECKPOINT_LOCATION);
|
|
@@ -213,7 +198,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
|
|
|
if (useGroupByAggregator(metricsConf)) {
|
|
|
return new org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.aggregators.v2.TimelineMetricHostAggregator(
|
|
|
- METRIC_RECORD_DAILY,
|
|
|
+ "TimelineMetricHostAggregatorDaily",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -221,13 +206,12 @@ public class TimelineMetricAggregatorFactory {
|
|
|
hostAggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 3600000l,
|
|
|
- haController
|
|
|
+ 3600000l
|
|
|
);
|
|
|
}
|
|
|
|
|
|
return new TimelineMetricHostAggregator(
|
|
|
- METRIC_RECORD_DAILY,
|
|
|
+ "TimelineMetricHostAggregatorDaily",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -235,8 +219,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
hostAggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 3600000l,
|
|
|
- haController);
|
|
|
+ 3600000l);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -246,8 +229,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
*/
|
|
|
public static TimelineMetricAggregator createTimelineClusterAggregatorSecond(
|
|
|
PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf,
|
|
|
- TimelineMetricMetadataManager metadataManager,
|
|
|
- TimelineMetricHAController haController) {
|
|
|
+ TimelineMetricMetadataManager metadataManager) {
|
|
|
|
|
|
String checkpointDir = metricsConf.get(
|
|
|
TIMELINE_METRICS_AGGREGATOR_CHECKPOINT_DIR, DEFAULT_CHECKPOINT_LOCATION);
|
|
@@ -270,7 +252,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
|
|
|
// Second based aggregation have added responsibility of time slicing
|
|
|
return new TimelineMetricClusterAggregatorSecond(
|
|
|
- METRIC_AGGREGATE_SECOND,
|
|
|
+ "TimelineClusterAggregatorSecond",
|
|
|
metadataManager,
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
@@ -280,8 +262,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
120000l,
|
|
|
- timeSliceIntervalMillis,
|
|
|
- haController
|
|
|
+ timeSliceIntervalMillis
|
|
|
);
|
|
|
}
|
|
|
|
|
@@ -290,8 +271,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
* Interval : 5 mins
|
|
|
*/
|
|
|
public static TimelineMetricAggregator createTimelineClusterAggregatorMinute(
|
|
|
- PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf,
|
|
|
- TimelineMetricHAController haController) {
|
|
|
+ PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf) {
|
|
|
|
|
|
String checkpointDir = metricsConf.get(
|
|
|
TIMELINE_METRICS_AGGREGATOR_CHECKPOINT_DIR, DEFAULT_CHECKPOINT_LOCATION);
|
|
@@ -311,7 +291,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
|
|
|
if (useGroupByAggregator(metricsConf)) {
|
|
|
return new org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.aggregators.v2.TimelineMetricClusterAggregator(
|
|
|
- METRIC_AGGREGATE_MINUTE,
|
|
|
+ "TimelineClusterAggregatorMinute",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -319,13 +299,12 @@ public class TimelineMetricAggregatorFactory {
|
|
|
aggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 120000l,
|
|
|
- haController
|
|
|
+ 120000l
|
|
|
);
|
|
|
}
|
|
|
|
|
|
return new TimelineMetricClusterAggregator(
|
|
|
- METRIC_AGGREGATE_MINUTE,
|
|
|
+ "TimelineClusterAggregatorMinute",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -333,8 +312,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
aggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 120000l,
|
|
|
- haController
|
|
|
+ 120000l
|
|
|
);
|
|
|
}
|
|
|
|
|
@@ -343,8 +321,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
* Interval : 1 hour
|
|
|
*/
|
|
|
public static TimelineMetricAggregator createTimelineClusterAggregatorHourly(
|
|
|
- PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf,
|
|
|
- TimelineMetricHAController haController) {
|
|
|
+ PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf) {
|
|
|
|
|
|
String checkpointDir = metricsConf.get(
|
|
|
TIMELINE_METRICS_AGGREGATOR_CHECKPOINT_DIR, DEFAULT_CHECKPOINT_LOCATION);
|
|
@@ -364,7 +341,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
|
|
|
if (useGroupByAggregator(metricsConf)) {
|
|
|
return new org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.aggregators.v2.TimelineMetricClusterAggregator(
|
|
|
- METRIC_AGGREGATE_HOURLY,
|
|
|
+ "TimelineClusterAggregatorHourly",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -372,13 +349,12 @@ public class TimelineMetricAggregatorFactory {
|
|
|
aggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 120000l,
|
|
|
- haController
|
|
|
+ 120000l
|
|
|
);
|
|
|
}
|
|
|
|
|
|
return new TimelineMetricClusterAggregator(
|
|
|
- METRIC_AGGREGATE_HOURLY,
|
|
|
+ "TimelineClusterAggregatorHourly",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -386,8 +362,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
aggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 120000l,
|
|
|
- haController
|
|
|
+ 120000l
|
|
|
);
|
|
|
}
|
|
|
|
|
@@ -396,8 +371,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
* Interval : 1 day
|
|
|
*/
|
|
|
public static TimelineMetricAggregator createTimelineClusterAggregatorDaily(
|
|
|
- PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf,
|
|
|
- TimelineMetricHAController haController) {
|
|
|
+ PhoenixHBaseAccessor hBaseAccessor, Configuration metricsConf) {
|
|
|
|
|
|
String checkpointDir = metricsConf.get(
|
|
|
TIMELINE_METRICS_AGGREGATOR_CHECKPOINT_DIR, DEFAULT_CHECKPOINT_LOCATION);
|
|
@@ -417,7 +391,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
|
|
|
if (useGroupByAggregator(metricsConf)) {
|
|
|
return new org.apache.hadoop.yarn.server.applicationhistoryservice.metrics.timeline.aggregators.v2.TimelineMetricClusterAggregator(
|
|
|
- METRIC_AGGREGATE_DAILY,
|
|
|
+ "TimelineClusterAggregatorDaily",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -425,13 +399,12 @@ public class TimelineMetricAggregatorFactory {
|
|
|
aggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 120000l,
|
|
|
- haController
|
|
|
+ 120000l
|
|
|
);
|
|
|
}
|
|
|
|
|
|
return new TimelineMetricClusterAggregator(
|
|
|
- METRIC_AGGREGATE_DAILY,
|
|
|
+ "TimelineClusterAggregatorDaily",
|
|
|
hBaseAccessor, metricsConf,
|
|
|
checkpointLocation,
|
|
|
sleepIntervalMillis,
|
|
@@ -439,8 +412,7 @@ public class TimelineMetricAggregatorFactory {
|
|
|
aggregatorDisabledParam,
|
|
|
inputTableName,
|
|
|
outputTableName,
|
|
|
- 120000l,
|
|
|
- haController
|
|
|
+ 120000l
|
|
|
);
|
|
|
}
|
|
|
}
|