Repository: ambari
Updated Branches:
  refs/heads/branch-metrics-dev a3ed7a3fd -> dd066b945


AMBARI-7681. Add Metrics Service to common services stack. Additional fixes. 
(mpapirkovskyy)


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

Branch: refs/heads/branch-metrics-dev
Commit: dd066b945490cb56fcdbf01782970056af9885c3
Parents: a3ed7a3
Author: Myroslav Papirkovskyy <mpapyrkovs...@hortonworks.com>
Authored: Thu Nov 20 10:07:23 2014 +0200
Committer: Myroslav Papirkovskyy <mpapyrkovs...@hortonworks.com>
Committed: Thu Nov 20 11:53:31 2014 +0200

----------------------------------------------------------------------
 .../metrics2/sink/timeline/TimelineMetric.java  |  8 ++++---
 .../conf/unix/ambari-metrics-collector          |  2 +-
 .../pom.xml                                     | 21 +++++++++++++++++--
 .../metrics/timeline/PhoenixTransactSQL.java    | 14 ++++++++++++-
 .../main/python/core/application_metric_map.py  |  8 +++++--
 .../src/main/python/core/controller.py          |  2 +-
 .../src/main/python/core/emitter.py             |  4 ++--
 .../src/main/python/core/host_info.py           |  9 +++++---
 ambari-metrics/pom.xml                          |  6 +++---
 .../templates/hadoop-metrics2.properties.j2     |  5 +++++
 .../2.2/services/AMS/configuration/ams-env.xml  |  2 --
 .../AMS/package/templates/metric_groups.conf.j2 | 22 ++------------------
 12 files changed, 63 insertions(+), 40 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetric.java
----------------------------------------------------------------------
diff --git 
a/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetric.java
 
b/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetric.java
index 1b35d92..68b4be8 100644
--- 
a/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetric.java
+++ 
b/ambari-metrics/ambari-metrics-hadoop-sink/src/main/java/org/apache/hadoop/metrics2/sink/timeline/TimelineMetric.java
@@ -127,7 +127,8 @@ public class TimelineMetric implements 
Comparable<TimelineMetric> {
     if (!metricName.equals(metric.metricName)) return false;
     if (hostName != null ? !hostName.equals(metric.hostName) : metric.hostName 
!= null)
       return false;
-    if (!appId.equals(metric.appId)) return false;
+    if (appId != null ? !appId.equals(metric.appId) : metric.appId != null)
+      return false;
     if (instanceId != null ? !instanceId.equals(metric.instanceId) : 
metric.instanceId != null)
       return false;
     if (timestamp != metric.timestamp) return false;
@@ -140,7 +141,8 @@ public class TimelineMetric implements 
Comparable<TimelineMetric> {
     if (!metricName.equals(metric.metricName)) return false;
     if (hostName != null ? !hostName.equals(metric.hostName) : metric.hostName 
!= null)
       return false;
-    if (!appId.equals(metric.appId)) return false;
+    if (appId != null ? !appId.equals(metric.appId) : metric.appId != null)
+      return false;
     if (instanceId != null ? !instanceId.equals(metric.instanceId) : 
metric.instanceId != null)
       return false;
 
@@ -150,7 +152,7 @@ public class TimelineMetric implements 
Comparable<TimelineMetric> {
   @Override
   public int hashCode() {
     int result = metricName.hashCode();
-    result = 31 * result + appId.hashCode();
+    result = 31 * result + (appId != null ? appId.hashCode() : 0);
     result = 31 * result + (instanceId != null ? instanceId.hashCode() : 0);
     result = 31 * result + (hostName != null ? hostName.hashCode() : 0);
     result = 31 * result + (int) (timestamp ^ (timestamp >>> 32));

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-metrics/ambari-metrics-hadoop-timelineservice/conf/unix/ambari-metrics-collector
----------------------------------------------------------------------
diff --git 
a/ambari-metrics/ambari-metrics-hadoop-timelineservice/conf/unix/ambari-metrics-collector
 
b/ambari-metrics/ambari-metrics-hadoop-timelineservice/conf/unix/ambari-metrics-collector
index eed1c9c..b6e17cf 100644
--- 
a/ambari-metrics/ambari-metrics-hadoop-timelineservice/conf/unix/ambari-metrics-collector
+++ 
b/ambari-metrics/ambari-metrics-hadoop-timelineservice/conf/unix/ambari-metrics-collector
@@ -200,7 +200,7 @@ case "$1" in
         rm -f "${PIDFILE}" >/dev/null 2>&1
     fi
 
-    nohup "${JAVA}" "-cp" 
"/usr/lib/ambari-metrics-collector/*:${COLLECTOR_CONF_DIR}" 
"-Dproc_${DAEMON_NAME}" "${CLASS}" "$@" > $OUTFILE 2>&1 &
+    nohup "${JAVA}" "-cp" 
"/usr/lib/ambari-metrics-collector/*:${COLLECTOR_CONF_DIR}" 
"-Djava.net.preferIPv4Stack=true" "-Dproc_${DAEMON_NAME}" "${CLASS}" "$@" > 
$OUTFILE 2>&1 &
     PID=$!
     write_pidfile "${PIDFILE}"
     sleep 2

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-metrics/ambari-metrics-hadoop-timelineservice/pom.xml
----------------------------------------------------------------------
diff --git a/ambari-metrics/ambari-metrics-hadoop-timelineservice/pom.xml 
b/ambari-metrics/ambari-metrics-hadoop-timelineservice/pom.xml
index 06f84be..7efdb6b 100644
--- a/ambari-metrics/ambari-metrics-hadoop-timelineservice/pom.xml
+++ b/ambari-metrics/ambari-metrics-hadoop-timelineservice/pom.xml
@@ -56,6 +56,8 @@
             </goals>
             <configuration>
               <outputDirectory>${project.build.directory}/lib</outputDirectory>
+              <includeScope>compile</includeScope>
+              <excludeScope>test</excludeScope>
             </configuration>
           </execution>
         </executions>
@@ -150,7 +152,7 @@
                 <source>
                   <location>target/embedded/${hbase.folder}</location>
                   <excludes>
-                    <exclude>target/embedded/${hbase.folder}/bin/*</exclude>
+                    <exclude>bin/*</exclude>
                   </excludes>
                 </source>
               </sources>
@@ -220,7 +222,17 @@
     <dependency>
       <groupId>org.apache.phoenix</groupId>
       <artifactId>phoenix-core</artifactId>
-      <version>4.2.0.2.2.0.0-2038</version>
+      <version>4.2.0.2.2.0.0-2041</version>
+      <exclusions>
+        <exclusion>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-common</artifactId>
+        </exclusion>
+        <exclusion>
+          <groupId>org.apache.hadoop</groupId>
+          <artifactId>hadoop-annotations</artifactId>
+        </exclusion>
+      </exclusions>
     </dependency>
 
     <dependency>
@@ -324,6 +336,11 @@
       <artifactId>jersey-guice</artifactId>
       <version>1.11</version>
     </dependency>
+    <dependency>
+      <groupId>com.sun.jersey</groupId>
+      <artifactId>jersey-server</artifactId>
+      <version>1.11</version>
+    </dependency>
     <!-- 'mvn dependency:analyze' fails to detect use of this dependency -->
     <dependency>
       <groupId>org.apache.hadoop</groupId>

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-metrics/ambari-metrics-hadoop-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixTransactSQL.java
----------------------------------------------------------------------
diff --git 
a/ambari-metrics/ambari-metrics-hadoop-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixTransactSQL.java
 
b/ambari-metrics/ambari-metrics-hadoop-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixTransactSQL.java
index ed8f978..77bd0f9 100644
--- 
a/ambari-metrics/ambari-metrics-hadoop-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixTransactSQL.java
+++ 
b/ambari-metrics/ambari-metrics-hadoop-timelineservice/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/metrics/timeline/PhoenixTransactSQL.java
@@ -242,23 +242,34 @@ public class PhoenixTransactSQL {
     int pos = 1;
     if (condition.getMetricNames() != null) {
       for (; pos <= condition.getMetricNames().size(); pos++) {
+        LOG.debug("Setting pos: " + pos + ", value = " + 
condition.getMetricNames().get(pos - 1));
         stmt.setString(pos, condition.getMetricNames().get(pos - 1));
       }
     }
     if (condition.getHostname() != null) {
+      LOG.debug("Setting pos: " + pos + ", value: " + condition.getHostname());
       stmt.setString(pos++, condition.getHostname());
     }
     // TODO: Upper case all strings on POST
     if (condition.getAppId() != null) {
-      stmt.setString(pos++, condition.getAppId().toLowerCase());
+      // TODO: fix case of appId coming from host metrics
+      String appId = condition.getAppId();
+      if (!condition.getAppId().equals("HOST")) {
+        appId = appId.toLowerCase();
+      }
+      LOG.debug("Setting pos: " + pos + ", value: " + appId);
+      stmt.setString(pos++, appId);
     }
     if (condition.getInstanceId() != null) {
+      LOG.debug("Setting pos: " + pos + ", value: " + 
condition.getInstanceId());
       stmt.setString(pos++, condition.getInstanceId());
     }
     if (condition.getStartTime() != null) {
+      LOG.debug("Setting pos: " + pos + ", value: " + 
condition.getStartTime());
       stmt.setLong(pos++, condition.getStartTime());
     }
     if (condition.getEndTime() != null) {
+      LOG.debug("Setting pos: " + pos + ", value: " + condition.getEndTime());
       stmt.setLong(pos, condition.getEndTime());
     }
     if (condition.getFetchSize() != null) {
@@ -268,6 +279,7 @@ public class PhoenixTransactSQL {
     return stmt;
   }
 
+
   public static PreparedStatement prepareGetAggregateSqlStmt(
     Connection connection, Condition condition) throws SQLException {
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/application_metric_map.py
----------------------------------------------------------------------
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/application_metric_map.py
 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/application_metric_map.py
index 8c32661..0b3f1dd 100644
--- 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/application_metric_map.py
+++ 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/application_metric_map.py
@@ -95,8 +95,8 @@ class ApplicationMetricMap:
         timeline_metric = {
           "hostname" : self.hostname,
           "metricname" : metricId,
-          "appid" : self.get_app_id(appId),
-          "instanceid" : self.get_instance_id(appId),
+          "appid" : "HOST",
+          "instanceid" : "",
           "starttime" : self.get_start_time(appId, metricId),
           "metrics" : metricData
         }
@@ -125,3 +125,7 @@ class ApplicationMetricMap:
     parts = app_id.split("_")
     return parts[1] if len(parts) > 1 else ''
   pass
+
+  def clear(self):
+    self.app_metric_map.clear()
+  pass

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/controller.py
----------------------------------------------------------------------
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/controller.py
 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/controller.py
index 3d1f487..d5299d1 100644
--- 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/controller.py
+++ 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/controller.py
@@ -70,7 +70,7 @@ class Controller(threading.Thread):
   def enqueque_events(self):
     # Queue events for up to a minute
     for event in self.events_cache:
-      t = Timer(event.get_collect_interval(), 
self.metric_collector.process_event(event))
+      t = Timer(event.get_collect_interval(), 
self.metric_collector.process_event, args=(event,))
       t.start()
     pass
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/emitter.py
----------------------------------------------------------------------
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/emitter.py 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/emitter.py
index a107374..7045c2e 100644
--- 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/emitter.py
+++ 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/emitter.py
@@ -55,7 +55,7 @@ class Emitter(threading.Thread):
           pass
           response = self.push_metrics(json_data)
 
-          if response and response.getcode() == '200':
+          if response and response.getcode() == 200:
             retry_count = MAX_RETRY_COUNT
             self.application_metric_map.clear()
             self.application_metric_map.release_lock()
@@ -83,7 +83,7 @@ class Emitter(threading.Thread):
     response = urllib2.urlopen(req, timeout=int(self.send_interval - 10))
     if response:
       logger.debug("POST response from server: retcode = 
{0}".format(response.getcode()))
-      logger.debug(response.read())
+      logger.debug(str(response.read()))
     pass
     return response
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py
----------------------------------------------------------------------
diff --git 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py
 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py
index 4b39119..7ca11b6 100644
--- 
a/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py
+++ 
b/ambari-metrics/ambari-metrics-host-monitoring/src/main/python/core/host_info.py
@@ -74,7 +74,8 @@ class HostInfo():
       'mem_cached' : mem_stats.cached if hasattr(mem_stats, 'cached') else '',
       'swap_free' : swap_stats.free if hasattr(mem_stats, 'free') else '',
       'disk_free' : disk_usage.get("disk_free"),
-      'part_max_used' : disk_usage.get("max_part_used")[0],
+      # todo: cannot send string
+      #'part_max_used' : disk_usage.get("max_part_used")[0],
       'disk_total' : disk_usage.get("disk_total")
     }
   pass
@@ -127,8 +128,10 @@ class HostInfo():
     return { "disk_total" : bytes2human(combined_disk_total),
              "disk_used"  : bytes2human(combined_disk_used),
              "disk_free"  : bytes2human(combined_disk_free),
-             "disk_percent" : bytes2human(combined_disk_percent),
-             "max_part_used" : max_percent_usage }
+             "disk_percent" : bytes2human(combined_disk_percent)
+            # todo: cannot send string
+             #"max_part_used" : max_percent_usage }
+           }
   pass
 
   def get_host_static_info(self):

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-metrics/pom.xml
----------------------------------------------------------------------
diff --git a/ambari-metrics/pom.xml b/ambari-metrics/pom.xml
index 67f5892..2ee4c1e 100644
--- a/ambari-metrics/pom.xml
+++ b/ambari-metrics/pom.xml
@@ -35,8 +35,8 @@
     <python.ver>python &gt;= 2.6</python.ver>
     <deb.python.ver>python (&gt;= 2.6)</deb.python.ver>
     <!--TODO change to HDP URL-->
-    
<hbase.tar>http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0/tars/hbase-0.98.4.2.2.0.0-1995-hadoop2.tar.gz</hbase.tar>
-    <hbase.folder>hbase-0.98.4.2.2.0.0-1995-hadoop2</hbase.folder>
+    
<hbase.tar>http://s3.amazonaws.com/dev.hortonworks.com/HDP/centos6/2.x/updates/2.2.0.0/tars/hbase-0.98.4.2.2.0.0-2041-hadoop2.tar.gz</hbase.tar>
+    <hbase.folder>hbase-0.98.4.2.2.0.0-2041-hadoop2</hbase.folder>
   </properties>
   <repositories>
     <repository>
@@ -196,4 +196,4 @@
   </profiles>
 
 
-</project>
\ No newline at end of file
+</project>

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
index d1b82b6..4b35ff4 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.0.6/hooks/before-START/templates/hadoop-metrics2.properties.j2
@@ -66,6 +66,11 @@ resourcemanager.sink.ganglia.tagsForPrefix.yarn=Queue
 
 {% if has_metric_collector %}
 
+*.period=60
+
+*.sink.timeline.class=org.apache.hadoop.metrics2.sink.timeline.TimelineMetricsSink
+*.sink.timeline.period=10
+
 datanode.sink.timeline.collector={{metric_collector_host}}:8188
 namenode.sink.timeline.collector={{metric_collector_host}}:8188
 resourcemanager.sink.timeline.collector={{metric_collector_host}}:8188

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/configuration/ams-env.xml
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/configuration/ams-env.xml
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/configuration/ams-env.xml
index 746db5c..fda1df0 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/configuration/ams-env.xml
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/configuration/ams-env.xml
@@ -34,8 +34,6 @@
       # The java implementation to use. Java 1.6 required.
       export JAVA_HOME={{java64_home}}
 
-      export JAVA_LIBRARY_PATH=${JAVA_LIBRARY_PATH}:{{hadoop_native_lib}}
-
       #TODO
     </value>
   </property>

http://git-wip-us.apache.org/repos/asf/ambari/blob/dd066b94/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/package/templates/metric_groups.conf.j2
----------------------------------------------------------------------
diff --git 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/package/templates/metric_groups.conf.j2
 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/package/templates/metric_groups.conf.j2
index f86343f..aa03d19 100644
--- 
a/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/package/templates/metric_groups.conf.j2
+++ 
b/ambari-server/src/main/resources/stacks/HDP/2.2/services/AMS/package/templates/metric_groups.conf.j2
@@ -18,26 +18,8 @@
 
 {
    "host_metric_groups": {
-      "cpu_info": {
-         "collect_every": "15",
-         "metrics": [
-            {
-               "name": "cpu_user",
-               "value_threshold": "1.0"
-            }
-         ]
-      },
-      "disk_info": {
-         "collect_every": "30",
-         "metrics": [
-            {
-               "name": "disk_free",
-               "value_threshold": "5.0"
-            }
-         ]
-      },
-      "network_info": {
-         "collect_every": "20",
+      "all": {
+         "collect_every": "10",
          "metrics": [
             {
                "name": "bytes_out",

Reply via email to