-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/60098/
-----------------------------------------------------------
Review request for Ambari, Aravindan Vijayan, Dmytro Sen, and Robert Levas.
Summary (updated)
-----------------
Add Kerberos HTTP SPNEGO authentication support to Accumulo
Bugs: AMBARI-21230
https://issues.apache.org/jira/browse/AMBARI-21230
Repository: ambari
Description (updated)
-------
This is a subtask of AMBARI-14384 "Ambari Metrics doesn't use SPNEGO to
authenticate".
In a Kerberos enabled cluster with SPNEGO enabled on Hadoop APIs, Ambari
Metrics Collector web-console will be Kerberos HTTP SPNEGO enabled too. But
Accumulo sinks, clients of Ambari Metrics Collector, currently do not support
Kerberos HTTP SPNEGO authentication.
e.g., /var/log/accumulo/tserver_<tserver-host>.debug.log:
2017-06-06 23:07:39,918 [timeline.HadoopTimelineMetricsSink] INFO : Received
WWW-Authentication header:Negotiate, for URL:
http://<metrics-collector-host>:6188/ws/v1/timeline/metrics
2017-06-06 23:07:39,927 [timeline.HadoopTimelineMetricsSink] INFO : No live
collector to send metrics to. Metrics to be sent will be discarded. This
message will be skipped for the next 20 times.
In addition, this JIRA is going to fix the following sink connection exception
which will lead to miss one metrics submission right after WWW-
Authentication negociate:
2017-06-06 14:30:19,722 ERROR [timeline] impl.MetricsSinkAdapter: Got sink
exception, retry in 602ms
java.lang.IllegalStateException: Already connected
at
sun.net.www.protocol.http.HttpURLConnection.setRequestProperty(HttpURLConnection.java:3053)
at
org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.emitMetricsJson(AbstractTimelineMetricsSink.java:201)
at
org.apache.hadoop.metrics2.sink.timeline.AbstractTimelineMetricsSink.emitMetrics(AbstractTimelineMetricsSink.java:302)
at
org.apache.hadoop.metrics2.sink.timeline.HadoopTimelineMetricsSink.putMetrics(HadoopTimelineMetricsSink.java:352)
at
org.apache.hadoop.metrics2.impl.MetricsSinkAdapter.consume(MetricsSinkAdapter.java:186)
at
org.apache.hadoop.metrics2.impl.MetricsSinkAdapter.consume(MetricsSinkAdapter.java:43)
at
org.apache.hadoop.metrics2.impl.SinkQueue.consumeAll(SinkQueue.java:87)
at
org.apache.hadoop.metrics2.impl.MetricsSinkAdapter.publishMetricsFromQueue(MetricsSinkAdapter.java:134)
at
org.apache.hadoop.metrics2.impl.MetricsSinkAdapter$1.run(MetricsSinkAdapter.java:88)
2017-06-06 14:30:28,781 INFO [timeline] timeline.HadoopTimelineMetricsSink:
Using cached app cookie for
URL:http://<metrics-collector-host>:6188/ws/v1/timeline/metrics
Diffs (updated)
-----
ambari-metrics/ambari-metrics-common/src/main/java/org/apache/hadoop/metrics2/sink/timeline/AbstractTimelineMetricsSink.java
644d978
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/configuration/accumulo-env.xml
1e5eb54
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/accumulo_configuration.py
f65b68a
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/scripts/params.py
5d21514
ambari-server/src/main/resources/common-services/ACCUMULO/1.6.1.2.2.0/package/templates/accumulo_jaas.conf.j2
PRE-CREATION
Diff: https://reviews.apache.org/r/60098/diff/1/
Testing (updated)
-------
The fix has passed the existing testcases.
The fix has been manually tested via HDP/trunk.
Thanks,
Qin Liu