Browse Source

LogFeeder AMS client changes for HA(avijayan)

Aravindan Vijayan 9 năm trước cách đây
mục cha
commit
2a859ff73c

+ 28 - 1
ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/LogFeederAMSClient.java

@@ -25,6 +25,8 @@ import org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink;
 import org.apache.hadoop.metrics2.sink.timeline.TimelineMetrics;
 import org.apache.log4j.Logger;
 
+import java.util.Collection;
+
 public class LogFeederAMSClient extends AbstractTimelineMetricsSink {
   private static final Logger LOG = Logger.getLogger(LogFeederAMSClient.class);
 
@@ -42,7 +44,7 @@ public class LogFeederAMSClient extends AbstractTimelineMetricsSink {
   }
 
   @Override
-  public String getCollectorUri() {
+  public String getCollectorUri(String host) {
     return collectorHosts;
   }
 
@@ -52,9 +54,34 @@ public class LogFeederAMSClient extends AbstractTimelineMetricsSink {
     return 10;
   }
 
+  @Override
+  protected String getZookeeperQuorum() {
+    return null;
+  }
+
+  @Override
+  protected Collection<String> getConfiguredCollectorHosts() {
+    return null;
+  }
+
+  @Override
+  protected String getHostname() {
+    return null;
+  }
+
   @Override
   protected boolean emitMetrics(TimelineMetrics metrics) {
     return super.emitMetrics(metrics);
   }
 
+  @Override
+  protected String getCollectorProtocol() {
+    return null;
+  }
+
+  @Override
+  protected String getCollectorPort() {
+    return null;
+  }
+
 }

+ 2 - 12
ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/metrics/MetricsManager.java

@@ -49,14 +49,14 @@ public class MetricsManager {
     LOG.info("Initializing MetricsManager()");
     amsClient = new LogFeederAMSClient();
 
-    if (amsClient.getCollectorUri() != null) {
+    if (amsClient.getCollectorUri(null) != null) {
       findNodeHostName();
       if (nodeHostName == null) {
         isMetricsEnabled = false;
         LOG.error("Failed getting hostname for node. Disabling publishing LogFeeder metrics");
       } else {
         isMetricsEnabled = true;
-        LOG.info("LogFeeder Metrics is enabled. Metrics host=" + amsClient.getCollectorUri());
+        LOG.info("LogFeeder Metrics is enabled. Metrics host=" + amsClient.getCollectorUri(null));
       }
     } else {
       LOG.info("LogFeeder Metrics publish is disabled");
@@ -78,16 +78,6 @@ public class MetricsManager {
       } catch (Throwable e) {
         LOG.warn("Error getting hostname using InetAddress.getLocalHost().getCanonicalHostName()", e);
       }
-      if (nodeHostName == null) {
-        isMetricsEnabled = false;
-        LOG.error("Failed getting hostname for node. Disabling publishing LogFeeder metrics");
-      } else {
-        isMetricsEnabled = true;
-        LOG.info("LogFeeder Metrics is enabled. Metrics host="
-          + amsClient.getCollectorUri());
-      }
-    } else {
-      LOG.info("LogFeeder Metrics publish is disabled");
     }
   }