You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2017/06/28 00:24:46 UTC

[48/51] [partial] ambari git commit: AMBARI-21349. Create BigInsights Stack Skeleton in Ambari 2.5 (alejandro)

http://git-wip-us.apache.org/repos/asf/ambari/blob/1863c3b9/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/configuration/ams-site.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/configuration/ams-site.xml b/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/configuration/ams-site.xml
new file mode 100755
index 0000000..cc9c27a
--- /dev/null
+++ b/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/configuration/ams-site.xml
@@ -0,0 +1,527 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
+<!--
+/**
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+-->
+<configuration>
+  <property>
+    <name>timeline.metrics.service.operation.mode</name>
+    <value>embedded</value>
+    <display-name>Metrics Service operation mode</display-name>
+    <description>
+      Service Operation modes:
+      1) embedded: Metrics stored on local FS, HBase in Standalone mode
+      2) distributed: HBase daemons writing to HDFS
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.service.webapp.address</name>
+    <value>0.0.0.0:6188</value>
+    <description>
+      The address of the metrics service web application.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.service.rpc.address</name>
+    <value>0.0.0.0:60200</value>
+    <description>
+      The address of the metrics service rpc listeners.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.aggregator.checkpoint.dir</name>
+    <value>/var/lib/ambari-metrics-collector/checkpoint</value>
+    <display-name>Aggregator checkpoint directory</display-name>
+    <description>
+      Directory to store aggregator checkpoints. Change to a permanent
+      location so that checkpoint ar not lost.
+    </description>
+    <value-attributes>
+      <type>directory</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.minute.interval</name>
+    <value>300</value>
+    <display-name>Minute host aggregator interval</display-name>
+    <description>
+      Time in seconds to sleep for the minute resolution host based
+      aggregator. Default resolution is 5 minutes.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.hourly.interval</name>
+    <value>3600</value>
+    <display-name>Hourly host aggregator interval</display-name>
+    <description>
+      Time in seconds to sleep for the hourly resolution host based
+      aggregator. Default resolution is 1 hour.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.daily.aggregator.minute.interval</name>
+    <value>86400</value>
+    <description>
+      Time in seconds to sleep for the day resolution host based
+      aggregator. Default resolution is 24 hours.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.hourly.interval</name>
+    <value>3600</value>
+    <display-name>Hourly cluster aggregator Interval</display-name>
+    <description>
+      Time in seconds to sleep for the hourly resolution cluster wide
+      aggregator. Default is 1 hour.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.daily.interval</name>
+    <value>86400</value>
+    <description>
+      Time in seconds to sleep for the day resolution cluster wide
+      aggregator. Default is 24 hours.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.minute.interval</name>
+    <value>300</value>
+    <display-name>Minute cluster aggregator interval</display-name>
+    <description>
+      Time in seconds to sleep for the minute resolution cluster wide
+      aggregator. Default resolution is 5 minutes.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.second.interval</name>
+    <value>120</value>
+    <display-name>Second cluster aggregator interval</display-name>
+    <description>
+      Time in seconds to sleep for the second resolution cluster wide
+      aggregator. Default resolution is 2 minutes.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.daily.checkpointCutOffMultiplier</name>
+    <value>1</value>
+    <description>
+      Multiplier value * interval = Max allowed checkpoint lag. Effectively
+      if aggregator checkpoint is greater than max allowed checkpoint delay,
+      the checkpoint will be discarded by the aggregator.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.hourly.checkpointCutOffMultiplier</name>
+    <value>2</value>
+    <display-name>Hourly host aggregator checkpoint cutOff multiplier</display-name>
+    <description>
+      Multiplier value * interval = Max allowed checkpoint lag. Effectively
+      if aggregator checkpoint is greater than max allowed checkpoint delay,
+      the checkpoint will be discarded by the aggregator.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.minute.checkpointCutOffMultiplier</name>
+    <value>2</value>
+    <display-name>Minute host aggregator checkpoint cutOff multiplier</display-name>
+    <description>
+      Multiplier value * interval = Max allowed checkpoint lag. Effectively
+      if aggregator checkpoint is greater than max allowed checkpoint delay,
+      the checkpoint will be discarded by the aggregator.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.hourly.checkpointCutOffMultiplier</name>
+    <value>2</value>
+    <display-name>Hourly cluster aggregator checkpoint cutOff multiplier</display-name>
+    <description>
+      Multiplier value * interval = Max allowed checkpoint lag. Effectively
+      if aggregator checkpoint is greater than max allowed checkpoint delay,
+      the checkpoint will be discarded by the aggregator.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.second.checkpointCutOffMultiplier</name>
+    <value>2</value>
+    <display-name>Second cluster aggregator checkpoint cutOff multiplier</display-name>
+    <description>
+      Multiplier value * interval = Max allowed checkpoint lag. Effectively
+      if aggregator checkpoint is greater than max allowed checkpoint delay,
+      the checkpoint will be discarded by the aggregator.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.minute.checkpointCutOffMultiplier</name>
+    <value>2</value>
+    <display-name>Minute cluster aggregator checkpoint cutOff multiplier</display-name>
+    <description>
+      Multiplier value * interval = Max allowed checkpoint lag. Effectively
+      if aggregator checkpoint is greater than max allowed checkpoint delay,
+      the checkpoint will be discarded by the aggregator.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.daily.checkpointCutOffMultiplier</name>
+    <value>1</value>
+    <description>
+      Multiplier value * interval = Max allowed checkpoint lag. Effectively
+      if aggregator checkpoint is greater than max allowed checkpoint delay,
+      the checkpoint will be discarded by the aggregator.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.daily.disabled</name>
+    <value>false</value>
+    <description>
+      Disable host based daily aggregations.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.hourly.disabled</name>
+    <value>false</value>
+    <display-name>Disable Hourly host aggregator</display-name>
+    <description>
+      Disable host based hourly aggregations.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.minute.disabled</name>
+    <value>false</value>
+    <display-name>Disable Minute host aggregator</display-name>
+    <description>
+      Disable host based minute aggregations.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.daily.disabled</name>
+    <value>false</value>
+    <description>
+      Disable cluster based daily aggregations.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.hourly.disabled</name>
+    <display-name>Disable Hourly cluster aggregator</display-name>
+    <value>false</value>
+    <description>
+      Disable cluster based hourly aggregations.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.minute.disabled</name>
+    <value>false</value>
+    <display-name>Disable minute cluster aggregator</display-name>
+    <description>
+      Disable cluster based minute aggregations.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.second.disabled</name>
+    <value>false</value>
+    <display-name>Disable second cluster aggregator</display-name>
+    <description>
+      Disable cluster based second aggregations.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.second.timeslice.interval</name>
+    <value>30</value>
+    <display-name>Second cluster aggregator timeslice interval</display-name>
+    <description>
+      Lowest resolution of desired data for cluster level second aggregates.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.daily.ttl</name>
+    <value>31536000</value>
+    <description>
+      Host based daily resolution data purge interval. Default is 1 year.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.hourly.ttl</name>
+    <value>2592000</value>
+    <description>
+      Host based hourly resolution data purge interval. Default is 30 days.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.minute.ttl</name>
+    <value>604800</value>
+    <description>
+      Host based minute resolution data purge interval. Default is 7 days.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.second.ttl</name>
+    <value>2592000</value>
+    <description>
+      Cluster wide second resolution data purge interval. Default is 7 days.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.minute.ttl</name>
+    <value>7776000</value>
+    <description>
+      Cluster wide minute resolution data purge interval. Default is 30 days.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.hourly.ttl</name>
+    <value>31536000</value>
+    <description>
+      Cluster wide hourly resolution data purge interval. Default is 1 year.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregator.daily.ttl</name>
+    <value>63072000</value>
+    <description>
+      Cluster wide daily resolution data purge interval. Default is 2 years.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregator.ttl</name>
+    <value>86400</value>
+    <description>
+      1 minute resolution data purge interval. Default is 1 day.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.hbase.data.block.encoding</name>
+    <value>FAST_DIFF</value>
+    <description>
+      Codecs are enabled on a table by setting the DATA_BLOCK_ENCODING property.
+      Default encoding is FAST_DIFF. This can be changed only before creating
+      tables.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.hbase.compression.scheme</name>
+    <value>SNAPPY</value>
+    <description>
+      Compression codes need to be installed and available before setting the
+      scheme. Default compression is SNAPPY. Disable by setting to None.
+      This can be changed only before creating tables.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.service.default.result.limit</name>
+    <value>15840</value>
+    <description>
+      Max result limit on number of rows returned. Calculated as follows:
+      22 aggregate metrics/min * 2 * 60 * 6 : Retrieve 10 SECOND data for 2 hours.
+    </description>
+    <display-name>Metrics service default result limit</display-name>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.service.checkpointDelay</name>
+    <value>60</value>
+    <display-name>Metrics service checkpoint delay</display-name>
+    <description>
+      Time in seconds to sleep on the first run or when the checkpoint is
+      too old.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <property>
+    <name>timeline.metrics.service.resultset.fetchSize</name>
+    <display-name>Metrics service resultset fetchSize</display-name>
+    <value>2000</value>
+    <description>
+      JDBC resultset prefect size for aggregator queries.
+    </description>
+    <value-attributes>
+      <type>int</type>
+    </value-attributes>
+  </property>
+  <!-- Phoenix properties that would manifest in the hbase-site.xml on the client side -->
+  <property>
+    <name>phoenix.query.maxGlobalMemoryPercentage</name>
+    <value>25</value>
+    <description>
+      Percentage of total heap memory (i.e. Runtime.getRuntime().maxMemory())
+      that all threads may use.
+    </description>
+  </property>
+  <property>
+    <name>phoenix.spool.directory</name>
+    <value>/tmp</value>
+    <description>
+      Set directory for Phoenix spill files. If possible set this to a
+      different mount point from the one for hbase.rootdir in embedded mode.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.service.cluster.aggregator.appIds</name>
+    <value>datanode,nodemanager,hbase</value>
+    <description>
+      List of application ids to use for aggregating host level metrics for
+      an application. Example: bytes_read across Yarn Nodemanagers.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.service.use.groupBy.aggregators</name>
+    <value>true</value>
+    <description>
+      Use a groupBy aggregated query to perform host level aggregations vs
+      in-memory aggregations.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.host.aggregate.splitpoints</name>
+    <value> </value>
+    <description>
+      Pre-split regions using the split points corresponding to this property
+      for the precision table that stores seconds aggregate data.
+    </description>
+    <depends-on>
+      <property>
+        <type>ams-hbase-site</type>
+        <name>hbase.regionserver.global.memstore.upperLimit</name>
+      </property>
+      <property>
+        <type>ams-hbase-site</type>
+        <name>hbase.hregion.memstore.flush.size</name>
+      </property>
+      <property>
+        <type>ams-hbase-env</type>
+        <name>hbase_master_heapsize</name>
+      </property>
+      <property>
+        <type>ams-hbase-env</type>
+        <name>hbase_regionserver_heapsize</name>
+      </property>
+    </depends-on>
+  </property>
+  <property>
+    <name>timeline.metrics.cluster.aggregate.splitpoints</name>
+    <value> </value>
+    <description>
+      Pre-split regions using the split points corresponding to this property
+      for the aggregate table that stores seconds aggregate data across hosts.
+    </description>
+    <depends-on>
+      <property>
+        <type>ams-hbase-site</type>
+        <name>hbase.regionserver.global.memstore.upperLimit</name>
+      </property>
+      <property>
+        <type>ams-hbase-site</type>
+        <name>hbase.hregion.memstore.flush.size</name>
+      </property>
+      <property>
+        <type>ams-hbase-env</type>
+        <name>hbase_master_heapsize</name>
+      </property>
+      <property>
+        <type>ams-hbase-env</type>
+        <name>hbase_regionserver_heapsize</name>
+      </property>
+    </depends-on>
+  </property>
+
+  <property>
+    <name>timeline.metrics.sink.report.interval</name>
+    <value>60</value>
+    <description>
+      Time in seconds to sleep before report metrics to collector.
+      Default resolution is 1 minute.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.sink.collection.period</name>
+    <value>60</value>
+    <description>
+      The interval between two service metrics data exports.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.service.watcher.initial.delay</name>
+    <value>600</value>
+    <description>
+      The time to delay first watcher check execution
+      Default resolution is 10 minutes.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.service.watcher.delay</name>
+    <value>30</value>
+    <description>
+      The delay between the termination of one
+      watcher check execution and the commencement of the next
+      Default resolution is 30 seconds.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.service.watcher.timeout</name>
+    <value>30</value>
+    <description>
+      The maximum time to wait for a single watcher check execution
+      Default resolution is 30 seconds.
+    </description>
+  </property>
+  <property>
+    <name>timeline.metrics.hbase.fifo.compaction.enabled</name>
+    <value>true</value>
+    <description>
+      Enable Compaction policy for lower precision and minute aggregate tables.
+    </description>
+  </property>
+
+</configuration>

http://git-wip-us.apache.org/repos/asf/ambari/blob/1863c3b9/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/kerberos.json
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/kerberos.json b/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/kerberos.json
new file mode 100755
index 0000000..03c3f93
--- /dev/null
+++ b/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/kerberos.json
@@ -0,0 +1,122 @@
+{
+  "services": [
+    {
+      "name": "AMBARI_METRICS",
+      "identities": [
+        {
+          "name": "/spnego"
+        },
+        {
+          "name": "/hdfs"
+        }
+      ],
+      "components": [
+        {
+          "name": "METRICS_COLLECTOR",
+          "identities": [
+            {
+              "name": "ams_hbase_master_hbase",
+              "principal": {
+                "value": "amshbase/_HOST@${realm}",
+                "type": "service",
+                "configuration": "ams-hbase-security-site/hbase.master.kerberos.principal",
+                "local_username": "${ams-env/ambari_metrics_user}"
+              },
+              "keytab": {
+                "file": "${keytab_dir}/ams-hbase.master.keytab",
+                "owner": {
+                  "name": "${ams-env/ambari_metrics_user}",
+                  "access": "r"
+                },
+                "group": {
+                  "name": "${cluster-env/user_group}",
+                  "access": ""
+                },
+                "configuration": "ams-hbase-security-site/hbase.master.keytab.file"
+              }
+            },
+            {
+              "name": "ams_hbase_regionserver_hbase",
+              "principal": {
+                "value": "amshbase/_HOST@${realm}",
+                "type": "service",
+                "configuration": "ams-hbase-security-site/hbase.regionserver.kerberos.principal",
+                "local_username": "${ams-env/ambari_metrics_user}"
+              },
+              "keytab": {
+                "file": "${keytab_dir}/ams-hbase.regionserver.keytab",
+                "owner": {
+                  "name": "${ams-env/ambari_metrics_user}",
+                  "access": "r"
+                },
+                "group": {
+                  "name": "${cluster-env/user_group}",
+                  "access": ""
+                },
+                "configuration": "ams-hbase-security-site/hbase.regionserver.keytab.file"
+              }
+            },
+            {
+              "name": "ams_collector",
+              "principal": {
+                "value": "amshbase/_HOST@${realm}",
+                "type": "service",
+                "configuration": "ams-hbase-security-site/hbase.myclient.principal",
+                "local_username": "${ams-env/ambari_metrics_user}"
+              },
+              "keytab": {
+                "file": "${keytab_dir}/ams.collector.keytab",
+                "owner": {
+                  "name": "${ams-env/ambari_metrics_user}",
+                  "access": "r"
+                },
+                "group": {
+                  "name": "${cluster-env/user_group}",
+                  "access": ""
+                },
+                "configuration": "ams-hbase-security-site/hbase.myclient.keytab"
+              }
+            },
+            {
+              "name": "ams_zookeeper",
+              "principal": {
+                "value": "zookeeper/_HOST@${realm}",
+                "type": "service",
+                "configuration": "ams-hbase-security-site/ams.zookeeper.principal",
+                "local_username": "${ams-env/ambari_metrics_user}"
+              },
+              "keytab": {
+                "file": "${keytab_dir}/zk.service.ams.keytab",
+                "owner": {
+                  "name": "${ams-env/ambari_metrics_user}",
+                  "access": "r"
+                },
+                "group": {
+                  "name": "${cluster-env/user_group}",
+                  "access": ""
+                },
+                "configuration": "ams-hbase-security-site/ams.zookeeper.keytab"
+              }
+            }
+          ],
+          "configurations": [
+            {
+              "ams-hbase-security-site": {
+                "hbase.security.authentication": "kerberos",
+                "hbase.security.authorization": "true",
+                "hadoop.security.authentication": "kerberos",
+                "hbase.coprocessor.master.classes": "org.apache.hadoop.hbase.security.access.AccessController",
+                "hbase.coprocessor.region.classes": "org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController",
+                "zookeeper.znode.parent": "/ams-hbase-secure",
+                "hbase.zookeeper.property.kerberos.removeHostFromPrincipal": "true",
+                "hbase.zookeeper.property.kerberos.removeRealmFromPrincipal": "true",
+                "hbase.zookeeper.property.authProvider.1": "org.apache.zookeeper.server.auth.SASLAuthenticationProvider",
+                "hbase.zookeeper.property.jaasLoginRenew": "3600000"
+              }
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}

http://git-wip-us.apache.org/repos/asf/ambari/blob/1863c3b9/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/metainfo.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/metainfo.xml b/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/metainfo.xml
new file mode 100755
index 0000000..5002459
--- /dev/null
+++ b/ambari-server/src/main/resources/stacks/BigInsights/4.0/services/AMBARI_METRICS/metainfo.xml
@@ -0,0 +1,147 @@
+<?xml version="1.0"?>
+<!--
+   Licensed to the Apache Software Foundation (ASF) under one or more
+   contributor license agreements.  See the NOTICE file distributed with
+   this work for additional information regarding copyright ownership.
+   The ASF licenses this file to You under the Apache License, Version 2.0
+   (the "License"); you may not use this file except in compliance with
+   the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+<metainfo>
+  <schemaVersion>2.0</schemaVersion>
+  <services>
+    <service>
+      <name>AMBARI_METRICS</name>
+      <displayName>Ambari Metrics</displayName>
+      <version>0.1.0</version>
+      <comment>A system for metrics collection that provides storage and retrieval capability for metrics collected from the cluster
+      </comment>
+      <components>
+        <component>
+          <name>METRICS_COLLECTOR</name>
+          <displayName>Metrics Collector</displayName>
+          <category>MASTER</category>
+          <cardinality>1</cardinality>
+          <versionAdvertised>false</versionAdvertised>
+          <timelineAppid>AMS-HBASE</timelineAppid>
+          <dependencies>
+            <dependency>
+              <name>ZOOKEEPER/ZOOKEEPER_SERVER</name>
+              <scope>cluster</scope>
+              <auto-deploy>
+                <enabled>true</enabled>
+              </auto-deploy>
+            </dependency>
+          </dependencies>
+          <commandScript>
+            <script>scripts/metrics_collector.py</script>
+            <scriptType>PYTHON</scriptType>
+            <timeout>1200</timeout>
+          </commandScript>
+        </component>
+        <component>
+          <name>METRICS_MONITOR</name>
+          <displayName>Metrics Monitor</displayName>
+          <category>SLAVE</category>
+          <cardinality>ALL</cardinality>
+          <versionAdvertised>false</versionAdvertised>
+          <auto-deploy>
+            <enabled>true</enabled>
+          </auto-deploy>
+          <commandScript>
+            <script>scripts/metrics_monitor.py</script>
+            <scriptType>PYTHON</scriptType>
+            <timeout>1200</timeout>
+          </commandScript>
+        </component>
+      </components>
+
+      <osSpecifics>
+        <osSpecific>
+          <osFamily>redhat7,redhat6,suse11</osFamily>
+          <packages>
+            <package>
+              <name>ambari-metrics-collector</name>
+              <skipUpgrade>true</skipUpgrade>
+              <condition>should_install_ams_collector</condition>
+            </package>
+            <package>
+              <name>ambari-metrics-monitor</name>
+              <skipUpgrade>true</skipUpgrade>
+            </package>
+            <package>
+              <name>ambari-metrics-hadoop-sink</name>
+              <skipUpgrade>true</skipUpgrade>
+            </package>
+            <package>
+              <name>gcc</name>
+            </package>
+            <package>
+              <name>snappy</name>
+            </package>
+          </packages>
+        </osSpecific>
+        <osSpecific>
+          <osFamily>debian7,ubuntu12,ubuntu14</osFamily>
+          <packages>
+            <package>
+              <name>ambari-metrics-assembly</name>
+              <skipUpgrade>true</skipUpgrade>
+            </package>
+            <package>
+              <name>gcc</name>
+            </package>
+          </packages>
+        </osSpecific>
+        <osSpecific>
+          <osFamily>winsrv6</osFamily>
+          <packages>
+            <package>
+              <name>ambari-metrics-collector.msi</name>
+            </package>
+            <package>
+              <name>ambari-metrics-monitor.msi</name>
+            </package>
+            <package>
+              <name>ambari-metrics-hadoop-sink.msi</name>
+            </package>
+          </packages>
+        </osSpecific>
+      </osSpecifics>
+
+      <commandScript>
+        <script>scripts/service_check.py</script>
+        <scriptType>PYTHON</scriptType>
+        <timeout>600</timeout>
+      </commandScript>
+
+      <requiredServices>
+        <service>ZOOKEEPER</service>
+      </requiredServices>
+
+      <configuration-dependencies>
+        <config-type>ams-site</config-type>
+        <config-type>ams-log4j</config-type>
+        <config-type>ams-env</config-type>
+        <config-type>ams-hbase-policy</config-type>
+        <config-type>ams-hbase-site</config-type>
+        <config-type>ams-hbase-security-site</config-type>
+        <config-type>ams-hbase-env</config-type>
+        <config-type>ams-hbase-log4j</config-type>
+      </configuration-dependencies>
+
+      <excluded-config-types>
+        <config-type>storm-site</config-type>
+      </excluded-config-types>
+
+    </service>
+  </services>
+</metainfo>