瀏覽代碼

AMBARI-9880. AMS - StormTimelineMetricsReporter hardcodes APP_ID to nimbus. (swagle)

Siddharth Wagle 10 年之前
父節點
當前提交
cbfd153eb7

+ 12 - 11
ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java

@@ -45,15 +45,14 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
 
   public static final String COLLECTOR_HOST = "host";
   public static final String COLLECTOR_PORT = "port";
-
   public static final String METRICS_COLLECTOR = "metrics_collector";
-
-  public static final String APP_ID = "nimbus";
+  public static final String APP_ID = "appId";
 
   private String hostname;
   private SocketAddress socketAddress;
   private String collectorUri;
   private NimbusClient nimbusClient;
+  private String applicationId;
 
   public StormTimelineMetricsReporter() {
 
@@ -85,6 +84,7 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
       this.nimbusClient = NimbusClient.getConfiguredClient(stormConf);
       String collectorHostname = cf.get(COLLECTOR_HOST).toString();
       String port = cf.get(COLLECTOR_PORT).toString();
+      applicationId = cf.get(APP_ID).toString();
       collectorUri = "http://" + collectorHostname + ":" + port + "/ws/v1/timeline/metrics";
       List<InetSocketAddress> socketAddresses =
         Servers.parse(collectorHostname, Integer.valueOf(port));
@@ -92,7 +92,8 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
         socketAddress = socketAddresses.get(0);
       }
     } catch (Exception e) {
-      LOG.warn("could not initialize metrics collector, please specify host, port under $STORM_HOME/conf/config.yaml ", e);
+      LOG.warn("Could not initialize metrics collector, please specify host, " +
+        "port under $STORM_HOME/conf/config.yaml ", e);
     }
 
   }
@@ -103,9 +104,9 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
     ClusterSummary cs = this.nimbusClient.getClient().getClusterInfo();
     long currentTimeMillis = System.currentTimeMillis();
     totalMetrics.add(createTimelineMetric(currentTimeMillis,
-      APP_ID, "Supervisors", String.valueOf(cs.get_supervisors_size())));
+      applicationId, "Supervisors", String.valueOf(cs.get_supervisors_size())));
     totalMetrics.add(createTimelineMetric(currentTimeMillis,
-      APP_ID, "Topologies", String.valueOf(cs.get_topologies_size())));
+      applicationId, "Topologies", String.valueOf(cs.get_topologies_size())));
 
     List<SupervisorSummary> sups = cs.get_supervisors();
     int totalSlots = 0;
@@ -117,11 +118,11 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
     int freeSlots = totalSlots - usedSlots;
 
     totalMetrics.add(createTimelineMetric(currentTimeMillis,
-      APP_ID, "Total Slots", String.valueOf(totalSlots)));
+      applicationId, "Total Slots", String.valueOf(totalSlots)));
     totalMetrics.add(createTimelineMetric(currentTimeMillis,
-      APP_ID, "Used Slots", String.valueOf(usedSlots)));
+      applicationId, "Used Slots", String.valueOf(usedSlots)));
     totalMetrics.add(createTimelineMetric(currentTimeMillis,
-      APP_ID, "Free Slots", String.valueOf(freeSlots)));
+      applicationId, "Free Slots", String.valueOf(freeSlots)));
 
     List<TopologySummary> topos = cs.get_topologies();
     int totalExecutors = 0;
@@ -132,9 +133,9 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
     }
 
     totalMetrics.add(createTimelineMetric(currentTimeMillis,
-      APP_ID, "Total Executors", String.valueOf(totalExecutors)));
+      applicationId, "Total Executors", String.valueOf(totalExecutors)));
     totalMetrics.add(createTimelineMetric(currentTimeMillis,
-      APP_ID, "Total Tasks", String.valueOf(totalTasks)));
+      applicationId, "Total Tasks", String.valueOf(totalTasks)));
 
     TimelineMetrics timelineMetrics = new TimelineMetrics();
     timelineMetrics.setMetrics(totalMetrics);

+ 1 - 1
ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-hbase-site.xml

@@ -27,7 +27,7 @@
     <description>
       Ambari Metrics service uses HBase as default storage backend. Set the rootdir for
       HBase to either local filesystem path if using Ambari Metrics in embedded mode or
-      to a HDFS dir, example: hdfs://namenode.example.org:9000/hbase.
+      to a HDFS dir, example: hdfs://namenode.example.org:8020/amshbase.
     </description>
   </property>
   <property>

+ 1 - 0
ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/scripts/params.py

@@ -116,6 +116,7 @@ has_metric_collector = not len(ams_collector_hosts) == 0
 if has_metric_collector:
   metric_collector_host = ams_collector_hosts[0]
   metric_collector_report_interval = 60
+  metric_collector_app_id = "nimbus"
 metric_collector_sink_jar = "/usr/lib/storm/lib/ambari-metrics-storm-sink*.jar"
 
 # ranger host

+ 1 - 1
ambari-server/src/main/resources/common-services/STORM/0.9.1.2.1/package/templates/config.yaml.j2

@@ -57,8 +57,8 @@ enableMetricsSink: True
 metrics_collector:
 
   reportInterval: {{metric_collector_report_interval}}
-
   host: "{{metric_collector_host}}"
   port: 6188
+  appId: "{{metric_collector_app_id}}"
 
 {% endif %}