AMBARI-18170 : Kafka Metrics do not show up in AMS HA enabled cluster. (avijayan)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/a7f9090a Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/a7f9090a Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/a7f9090a Branch: refs/heads/branch-2.5 Commit: a7f9090a349f1a11460e114e1bf9066b7267201e Parents: a105d58 Author: Aravindan Vijayan <[email protected]> Authored: Mon Nov 14 20:42:18 2016 -0800 Committer: Aravindan Vijayan <[email protected]> Committed: Tue Nov 15 11:02:13 2016 -0800 ---------------------------------------------------------------------- .../sink/kafka/KafkaTimelineMetricsReporter.java | 13 +++---------- .../sink/kafka/KafkaTimelineMetricsReporterTest.java | 2 +- .../KAFKA/0.8.1/configuration/kafka-broker.xml | 4 ++-- .../KAFKA/0.8.1/package/scripts/kafka.py | 2 +- .../KAFKA/0.8.1/package/scripts/params.py | 8 ++++++++ .../stacks/2.2/configs/ranger-admin-upgrade.json | 2 +- .../stacks/2.2/configs/ranger-usersync-upgrade.json | 2 +- .../app/assets/data/stacks/HDP-2.2/configurations.json | 6 +++--- 8 files changed, 20 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/a7f9090a/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java ---------------------------------------------------------------------- diff --git a/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java b/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java index 11a1c75..9c16564 100644 --- a/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java +++ b/ambari-metrics/ambari-metrics-kafka-sink/src/main/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporter.java @@ -61,7 +61,7 @@ public class KafkaTimelineMetricsReporter extends AbstractTimelineMetricsSink private static final String TIMELINE_METRICS_SEND_INTERVAL_PROPERTY = "kafka.timeline.metrics.sendInterval"; private static final String TIMELINE_METRICS_MAX_ROW_CACHE_SIZE_PROPERTY = "kafka.timeline.metrics.maxRowCacheSize"; - private static final String TIMELINE_HOST_PROPERTY = "kafka.timeline.metrics.host"; + private static final String TIMELINE_HOSTS_PROPERTY = "kafka.timeline.metrics.hosts"; private static final String TIMELINE_PORT_PROPERTY = "kafka.timeline.metrics.port"; private static final String TIMELINE_PROTOCOL_PROPERTY = "kafka.timeline.metrics.protocol"; private static final String TIMELINE_REPORTER_ENABLED_PROPERTY = "kafka.timeline.metrics.reporter.enabled"; @@ -74,7 +74,6 @@ public class KafkaTimelineMetricsReporter extends AbstractTimelineMetricsSink private volatile boolean initialized = false; private boolean running = false; private final Object lock = new Object(); - private String collectorUri; private String hostname; private String metricCollectorPort; private String collectors; @@ -147,17 +146,12 @@ public class KafkaTimelineMetricsReporter extends AbstractTimelineMetricsSink int maxRowCacheSize = props.getInt(TIMELINE_METRICS_MAX_ROW_CACHE_SIZE_PROPERTY, MAX_RECS_PER_NAME_DEFAULT); zookeeperQuorum = props.getString("zookeeper.connect"); - collectors = props.getString(TIMELINE_HOST_PROPERTY, TIMELINE_DEFAULT_HOST); - metricCollectorProtocol = props.getString(TIMELINE_PROTOCOL_PROPERTY, TIMELINE_DEFAULT_PROTOCOL); - - String metricCollectorHost = props.getString(TIMELINE_HOST_PROPERTY, TIMELINE_DEFAULT_HOST); metricCollectorPort = props.getString(TIMELINE_PORT_PROPERTY, TIMELINE_DEFAULT_PORT); + collectors = props.getString(TIMELINE_HOSTS_PROPERTY, TIMELINE_DEFAULT_HOST + ":" + metricCollectorPort); + metricCollectorProtocol = props.getString(TIMELINE_PROTOCOL_PROPERTY, TIMELINE_DEFAULT_PROTOCOL); setMetricsCache(new TimelineMetricsCache(maxRowCacheSize, metricsSendInterval)); - collectorUri = constructTimelineMetricUri(metricCollectorProtocol, - metricCollectorHost, metricCollectorPort); - if (metricCollectorProtocol.contains("https")) { String trustStorePath = props.getString(SSL_KEYSTORE_PATH_PROPERTY).trim(); String trustStoreType = props.getString(SSL_KEYSTORE_TYPE_PROPERTY).trim(); @@ -181,7 +175,6 @@ public class KafkaTimelineMetricsReporter extends AbstractTimelineMetricsSink startReporter(metricsConfig.pollingIntervalSecs()); } if (LOG.isDebugEnabled()) { - LOG.debug("CollectorUri = " + collectorUri); LOG.debug("MetricsSendInterval = " + metricsSendInterval); LOG.debug("MaxRowCacheSize = " + maxRowCacheSize); LOG.debug("Excluded metrics prefixes = " + excludedMetricsStr); http://git-wip-us.apache.org/repos/asf/ambari/blob/a7f9090a/ambari-metrics/ambari-metrics-kafka-sink/src/test/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporterTest.java ---------------------------------------------------------------------- diff --git a/ambari-metrics/ambari-metrics-kafka-sink/src/test/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporterTest.java b/ambari-metrics/ambari-metrics-kafka-sink/src/test/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporterTest.java index 9027716..c569d88 100644 --- a/ambari-metrics/ambari-metrics-kafka-sink/src/test/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporterTest.java +++ b/ambari-metrics/ambari-metrics-kafka-sink/src/test/java/org/apache/hadoop/metrics2/sink/kafka/KafkaTimelineMetricsReporterTest.java @@ -79,7 +79,7 @@ public class KafkaTimelineMetricsReporterTest { properties.setProperty("zookeeper.connect", "localhost:2181"); properties.setProperty("kafka.timeline.metrics.sendInterval", "5900"); properties.setProperty("kafka.timeline.metrics.maxRowCacheSize", "10000"); - properties.setProperty("kafka.timeline.metrics.host", "localhost"); + properties.setProperty("kafka.timeline.metrics.hosts", "localhost:6188"); properties.setProperty("kafka.timeline.metrics.port", "6188"); properties.setProperty("kafka.timeline.metrics.reporter.enabled", "true"); properties.setProperty("external.kafka.metrics.exclude.prefix", "a.b.c"); http://git-wip-us.apache.org/repos/asf/ambari/blob/a7f9090a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml index f7da62c..ab4d701 100644 --- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml +++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/configuration/kafka-broker.xml @@ -357,8 +357,8 @@ <on-ambari-upgrade add="true"/> </property> <property> - <name>kafka.timeline.metrics.host</name> - <value>{{metric_collector_host}}</value> + <name>kafka.timeline.metrics.hosts</name> + <value>{{metric_collector_hosts}}</value> <description>Timeline host</description> <on-ambari-upgrade add="true"/> </property> http://git-wip-us.apache.org/repos/asf/ambari/blob/a7f9090a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py index f0c8289..635cbe9 100644 --- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py +++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/kafka.py @@ -99,7 +99,7 @@ def kafka(upgrade_type=None): kafka_server_config['host.name'] = params.hostname if params.has_metric_collector: - kafka_server_config['kafka.timeline.metrics.host'] = params.metric_collector_host + kafka_server_config['kafka.timeline.metrics.hosts'] = params.metric_collector_hosts kafka_server_config['kafka.timeline.metrics.port'] = params.metric_collector_port kafka_server_config['kafka.timeline.metrics.protocol'] = params.metric_collector_protocol kafka_server_config['kafka.timeline.metrics.truststore.path'] = params.metric_truststore_path http://git-wip-us.apache.org/repos/asf/ambari/blob/a7f9090a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py index 11c1ad0..5c26796 100644 --- a/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py +++ b/ambari-server/src/main/resources/common-services/KAFKA/0.8.1/package/scripts/params.py @@ -144,6 +144,14 @@ if has_metric_collector: else: metric_collector_protocol = 'http' pass + + # Collector hosts + metric_collector_hosts = "" + if ams_collector_hosts: + for host in ams_collector_hosts: + metric_collector_hosts += host + ':' + metric_collector_port + ',' + metric_collector_hosts = metric_collector_hosts[:-1] + # Security-related params security_enabled = config['configurations']['cluster-env']['security_enabled'] kafka_kerberos_enabled = (('security.inter.broker.protocol' in config['configurations']['kafka-broker']) and http://git-wip-us.apache.org/repos/asf/ambari/blob/a7f9090a/ambari-server/src/test/python/stacks/2.2/configs/ranger-admin-upgrade.json ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.2/configs/ranger-admin-upgrade.json b/ambari-server/src/test/python/stacks/2.2/configs/ranger-admin-upgrade.json index d348645..0a49368 100644 --- a/ambari-server/src/test/python/stacks/2.2/configs/ranger-admin-upgrade.json +++ b/ambari-server/src/test/python/stacks/2.2/configs/ranger-admin-upgrade.json @@ -455,7 +455,7 @@ "replica.high.watermark.checkpoint.interval.ms": "5000", "zookeeper.connect": "c6407.ambari.apache.org:2181,c6408.ambari.apache.org:2181,c6409.ambari.apache.org:2181", "controlled.shutdown.retry.backoff.ms": "5000", - "kafka.timeline.metrics.host": "{{metric_collector_host}}", + "kafka.timeline.metrics.host": "{{metric_collector_hosts}}", "kafka.timeline.metrics.reporter.sendInterval": "5900", "num.partitions": "1", "log.flush.interval.messages": "10000", http://git-wip-us.apache.org/repos/asf/ambari/blob/a7f9090a/ambari-server/src/test/python/stacks/2.2/configs/ranger-usersync-upgrade.json ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/python/stacks/2.2/configs/ranger-usersync-upgrade.json b/ambari-server/src/test/python/stacks/2.2/configs/ranger-usersync-upgrade.json index 27af82f..b6615da 100644 --- a/ambari-server/src/test/python/stacks/2.2/configs/ranger-usersync-upgrade.json +++ b/ambari-server/src/test/python/stacks/2.2/configs/ranger-usersync-upgrade.json @@ -450,7 +450,7 @@ "replica.high.watermark.checkpoint.interval.ms": "5000", "zookeeper.connect": "c6407.ambari.apache.org:2181,c6408.ambari.apache.org:2181,c6409.ambari.apache.org:2181", "controlled.shutdown.retry.backoff.ms": "5000", - "kafka.timeline.metrics.host": "{{metric_collector_host}}", + "kafka.timeline.metrics.host": "{{metric_collector_hosts}}", "kafka.timeline.metrics.reporter.sendInterval": "5900", "num.partitions": "1", "log.flush.interval.messages": "10000", http://git-wip-us.apache.org/repos/asf/ambari/blob/a7f9090a/ambari-web/app/assets/data/stacks/HDP-2.2/configurations.json ---------------------------------------------------------------------- diff --git a/ambari-web/app/assets/data/stacks/HDP-2.2/configurations.json b/ambari-web/app/assets/data/stacks/HDP-2.2/configurations.json index 85d4a9f..e0aa9eb 100644 --- a/ambari-web/app/assets/data/stacks/HDP-2.2/configurations.json +++ b/ambari-web/app/assets/data/stacks/HDP-2.2/configurations.json @@ -8800,13 +8800,13 @@ } }, { - "href" : "http://c6401:8080/api/v1/stacks/HDP/versions/2.2/services/KAFKA/configurations/kafka.timeline.metrics.host", + "href" : "http://c6401:8080/api/v1/stacks/HDP/versions/2.2/services/KAFKA/configurations/kafka.timeline.metrics.hosts", "StackConfigurations" : { "final" : "false", "property_description" : "Timeline host", - "property_name" : "kafka.timeline.metrics.host", + "property_name" : "kafka.timeline.metrics.hosts", "property_type" : [ ], - "property_value" : "{{metric_collector_host}}", + "property_value" : "{{metric_collector_hosts}}", "service_name" : "KAFKA", "stack_name" : "HDP", "stack_version" : "2.2",
