You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by rz...@apache.org on 2017/02/17 22:57:17 UTC

[39/51] [abbrv] ambari git commit: AMBARI-19825 : Metrics data is not getting collected for different services when AMS HTTPS is enabled. (avijayan)

AMBARI-19825 : Metrics data is not getting collected for different services when AMS HTTPS is enabled. (avijayan)

(cherry picked from commit d2837f7864ddd0a961c1213761580576a772cedd)

Change-Id: I94b6416ce791cefb2345a99a0609536242a9c6c3


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fcd422c3
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fcd422c3
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fcd422c3

Branch: refs/heads/branch-feature-BUG-74026
Commit: fcd422c3b63c89444fb33ba646f8524ca71c9e1c
Parents: 6999527
Author: Aravindan Vijayan <av...@hortonworks.com>
Authored: Thu Feb 2 10:19:52 2017 -0800
Committer: Zuul <re...@hortonworks.com>
Committed: Tue Feb 7 07:11:05 2017 -0800

----------------------------------------------------------------------
 .../metrics2/sink/flume/FlumeTimelineMetricsSink.java     |  3 ++-
 .../metrics2/sink/timeline/HadoopTimelineMetricsSink.java |  6 +++---
 .../metrics2/sink/storm/StormTimelineMetricsReporter.java |  5 +----
 .../server/metrics/system/impl/AmbariMetricSinkImpl.java  | 10 ++++++++++
 4 files changed, 16 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/fcd422c3/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java b/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java
index c1b684b..86e092a 100644
--- a/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java
+++ b/ambari-metrics/ambari-metrics-flume-sink/src/main/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSink.java
@@ -107,13 +107,14 @@ public class FlumeTimelineMetricsSink extends AbstractTimelineMetricsSink implem
     // Initialize the collector write strategy
     super.init();
 
-    collectorUri = constructTimelineMetricUri(protocol, findPreferredCollectHost(), port);
     if (protocol.contains("https")) {
       String trustStorePath = configuration.getProperty(SSL_KEYSTORE_PATH_PROPERTY).trim();
       String trustStoreType = configuration.getProperty(SSL_KEYSTORE_TYPE_PROPERTY).trim();
       String trustStorePwd = configuration.getProperty(SSL_KEYSTORE_PASSWORD_PROPERTY).trim();
       loadTruststore(trustStorePath, trustStoreType, trustStorePwd);
     }
+    collectorUri = constructTimelineMetricUri(protocol, findPreferredCollectHost(), port);
+
     pollFrequency = Long.parseLong(configuration.getProperty("collectionFrequency"));
 
     String[] metrics = configuration.getProperty(COUNTER_METRICS_PROPERTY).trim().split(",");

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcd422c3/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java b/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java
index b2ca52e..1936977 100644
--- a/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java
+++ b/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/HadoopTimelineMetricsSink.java
@@ -107,15 +107,15 @@ public class HadoopTimelineMetricsSink extends AbstractTimelineMetricsSink imple
     if (collectorHosts.isEmpty()) {
       LOG.error("No Metric collector configured.");
     } else {
-      String preferredCollectorHost = findPreferredCollectHost();
-      collectorUri = constructTimelineMetricUri(protocol, preferredCollectorHost, port);
-      containerMetricsUri = constructContainerMetricUri(protocol, preferredCollectorHost, port);
       if (protocol.contains("https")) {
         String trustStorePath = conf.getString(SSL_KEYSTORE_PATH_PROPERTY).trim();
         String trustStoreType = conf.getString(SSL_KEYSTORE_TYPE_PROPERTY).trim();
         String trustStorePwd = conf.getString(SSL_KEYSTORE_PASSWORD_PROPERTY).trim();
         loadTruststore(trustStorePath, trustStoreType, trustStorePwd);
       }
+      String preferredCollectorHost = findPreferredCollectHost();
+      collectorUri = constructTimelineMetricUri(protocol, preferredCollectorHost, port);
+      containerMetricsUri = constructContainerMetricUri(protocol, preferredCollectorHost, port);
     }
 
     LOG.info("Collector Uri: " + collectorUri);

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcd422c3/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java b/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
index 53250ee..b716c7e 100644
--- a/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
+++ b/ambari-metrics/ambari-metrics-storm-sink/src/main/java/org/apache/hadoop/metrics2/sink/storm/StormTimelineMetricsReporter.java
@@ -42,7 +42,6 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
   public static final String DEFAULT_CLUSTER_REPORTER_APP_ID = "nimbus";
 
   private String hostname;
-  private String collectorUri;
   private String applicationId;
   private int timeoutSeconds;
   private String port;
@@ -117,9 +116,7 @@ public class StormTimelineMetricsReporter extends AbstractTimelineMetricsSink
         DEFAULT_POST_TIMEOUT_SECONDS;
       applicationId = conf.getProperty(CLUSTER_REPORTER_APP_ID, DEFAULT_CLUSTER_REPORTER_APP_ID);
 
-      collectorUri = constructTimelineMetricUri(protocol, findPreferredCollectHost(), port);
-
-      if (collectorUri.toLowerCase().startsWith("https://")) {
+      if (protocol.contains("https")) {
         String trustStorePath = conf.getProperty(SSL_KEYSTORE_PATH_PROPERTY).toString().trim();
         String trustStoreType = conf.getProperty(SSL_KEYSTORE_TYPE_PROPERTY).toString().trim();
         String trustStorePwd = conf.getProperty(SSL_KEYSTORE_PASSWORD_PROPERTY).toString().trim();

http://git-wip-us.apache.org/repos/asf/ambari/blob/fcd422c3/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
index 358b8fa..58d36c3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/metrics/system/impl/AmbariMetricSinkImpl.java
@@ -28,6 +28,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeMap;
 
+import org.apache.ambari.server.configuration.ComponentSSLConfiguration;
 import org.apache.ambari.server.controller.AmbariManagementController;
 import org.apache.ambari.server.controller.internal.AbstractControllerResourceProvider;
 import org.apache.ambari.server.controller.internal.ServiceConfigVersionResourceProvider;
@@ -156,6 +157,15 @@ public class AmbariMetricSinkImpl extends AbstractTimelineMetricsSink implements
 
     hostName = configuration.getProperty("ambariserver.hostname.override", getDefaultLocalHostName());
     LOG.info("Hostname used for ambari server metrics : " + hostName);
+
+    if (protocol.contains("https")) {
+      ComponentSSLConfiguration sslConfiguration = ComponentSSLConfiguration.instance();
+      String trustStorePath = sslConfiguration.getTruststorePath();
+      String trustStoreType = sslConfiguration.getTruststoreType();
+      String trustStorePwd = sslConfiguration.getTruststorePassword();
+      loadTruststore(trustStorePath, trustStoreType, trustStorePwd);
+    }
+
     collectorUri = getCollectorUri(findPreferredCollectHost());
 
     int maxRowCacheSize = Integer.parseInt(configuration.getProperty(MAX_METRIC_ROW_CACHE_SIZE,