diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/TimelineSchemaCreator.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/TimelineSchemaCreator.java index b436eec..b3b749e 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/TimelineSchemaCreator.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/src/main/java/org/apache/hadoop/yarn/server/timelineservice/storage/TimelineSchemaCreator.java @@ -60,9 +60,10 @@ private TimelineSchemaCreator() { final static String NAME = TimelineSchemaCreator.class.getSimpleName(); private static final Log LOG = LogFactory.getLog(TimelineSchemaCreator.class); private static final String SKIP_EXISTING_TABLE_OPTION_SHORT = "s"; + private static final String APP_METRICS_TTL_OPTION_SHORT = "ma"; private static final String APP_TABLE_NAME_SHORT = "a"; private static final String APP_TO_FLOW_TABLE_NAME_SHORT = "a2f"; - private static final String TTL_OPTION_SHORT = "m"; + private static final String ENTITY_METRICS_TTL_OPTION_SHORT = "me"; private static final String ENTITY_TABLE_NAME_SHORT = "e"; private static final String HELP_SHORT = "h"; private static final String CREATE_TABLES_SHORT = "c"; @@ -87,12 +88,12 @@ public static void main(String[] args) throws Exception { if (StringUtils.isNotBlank(entityTableName)) { hbaseConf.set(EntityTable.TABLE_NAME_CONF_NAME, entityTableName); } - // Grab the TTL argument - String entityTableTTLMetrics =commandLine.getOptionValue( - TTL_OPTION_SHORT); - if (StringUtils.isNotBlank(entityTableTTLMetrics)) { - int metricsTTL = Integer.parseInt(entityTableTTLMetrics); - new EntityTable().setMetricsTTL(metricsTTL, hbaseConf); + // Grab the entity metrics TTL + String entityTableMetricsTTL = commandLine.getOptionValue( + ENTITY_METRICS_TTL_OPTION_SHORT); + if (StringUtils.isNotBlank(entityTableMetricsTTL)) { + int entityMetricsTTL = Integer.parseInt(entityTableMetricsTTL); + new EntityTable().setMetricsTTL(entityMetricsTTL, hbaseConf); } // Grab the appToflowTableName argument String appToflowTableName = commandLine.getOptionValue( @@ -107,6 +108,13 @@ public static void main(String[] args) throws Exception { hbaseConf.set(ApplicationTable.TABLE_NAME_CONF_NAME, applicationTableName); } + // Grab the application metrics TTL + String applicationTableMetricsTTL = commandLine.getOptionValue( + APP_METRICS_TTL_OPTION_SHORT); + if (StringUtils.isNotBlank(applicationTableMetricsTTL)) { + int appMetricsTTL = Integer.parseInt(applicationTableMetricsTTL); + new ApplicationTable().setMetricsTTL(appMetricsTTL, hbaseConf); + } // create all table schemas in hbase final boolean skipExisting = commandLine.hasOption( @@ -145,9 +153,9 @@ private static CommandLine parseArgs(String[] args) throws ParseException { o.setRequired(false); options.addOption(o); - o = new Option(TTL_OPTION_SHORT, "metricsTTL", true, + o = new Option(ENTITY_METRICS_TTL_OPTION_SHORT, "entityMetricsTTL", true, "TTL for metrics column family"); - o.setArgName("metricsTTL"); + o.setArgName("entityMetricsTTL"); o.setRequired(false); options.addOption(o); @@ -163,6 +171,12 @@ private static CommandLine parseArgs(String[] args) throws ParseException { o.setRequired(false); options.addOption(o); + o = new Option(APP_METRICS_TTL_OPTION_SHORT, "applicationMetricsTTL", true, + "TTL for metrics column family"); + o.setArgName("applicationMetricsTTL"); + o.setRequired(false); + options.addOption(o); + // Options without an argument // No need to set arg name since we do not need an argument here o = new Option(SKIP_EXISTING_TABLE_OPTION_SHORT, "skipExistingTable", @@ -193,12 +207,14 @@ private static void printUsage() { usage.append("The Optional options for creating tables include: \n"); usage.append("[-entityTableName ] " + "The name of the Entity table\n"); - usage.append("[-metricsTTL ]" + + usage.append("[-entityMetricsTTL ]" + " TTL for metrics in the Entity table\n"); usage.append("[-appToflowTableName ]" + " The name of the AppToFlow table\n"); usage.append("[-applicationTableName ]" + " The name of the Application table\n"); + usage.append("[-applicationMetricsTTL ]" + + " TTL for metrics in the Application table\n"); usage.append("[-skipExistingTable] Whether to skip existing" + " hbase tables\n"); System.out.println(usage.toString());