[
https://issues.apache.org/jira/browse/AMBARI-16852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15316241#comment-15316241
]
Qin Liu commented on AMBARI-16852:
----------------------------------
Thanks Aravindan! I just created the review board and add you, Sid, and Dmytro
as the reviewers.
> Update metrics collector pom.xml to use httpclient-4.2.5.jar
> ------------------------------------------------------------
>
> Key: AMBARI-16852
> URL: https://issues.apache.org/jira/browse/AMBARI-16852
> Project: Ambari
> Issue Type: Bug
> Components: ambari-metrics
> Affects Versions: 2.1.0, 2.2.0
> Reporter: Qin Liu
> Assignee: Qin Liu
> Fix For: trunk
>
> Attachments: AMBARI-16852.patch
>
>
> httpclient-4.0.1.jar used by AMS collector does not have method
> URLEncodedUtils.parse (final URI uri, final String encoding). This will cause
> the metrics not to be populated and the collector log to be flooded with the
> following exception when when the Ambari-Metrics service is in distributed
> mode and the user configures http authentication filter without enabling
> Kerberos:
>
> 21:54:08,215 ERROR [1831490216@qtp-1883237069-7582] log:87 - Error for
> /ws/v1/timeline/metrics
> java.lang.NoSuchMethodError:
> org.apache.http.client.utils.URLEncodedUtils.parse(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/util/List;
> at
> org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.getUserName(PseudoAuthenticationHandler.java:143)
> at
> org.apache.hadoop.security.authentication.server.PseudoAuthenticationHandler.authenticate(PseudoAuthenticationHandler.java:179)
> at
> org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:507)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> at
> org.apache.hadoop.http.HttpServer2$QuotingInputFilter.doFilter(HttpServer2.java:1224)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> at
> org.apache.hadoop.http.NoCacheFilter.doFilter(NoCacheFilter.java:45)
> at
> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
> at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
> at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
> Steps to reproduce:
> 1. install a cluster with default from Ambari Web UI
> 2. configure Ambari Metrics service in distributed mode
> 3. Add the following properties in Custom core-site from Ambari Web UI:
> 1).
> hadoop.http.authentication.signature.secret.file=/etc/security/http_secret
> 2).
> hadoop.http.filter.initializers=org.apache.hadoop.security.AuthenticationFilterInitialize
> 4. create /etc/security/http_secret text file on each node
> 5. restart HDFS, YARN, Mapreduce2, HBase, Kafka, and Ambari Metrics service
> 6. Metrics on dashboard and HDFS, YARN, HBase, Kafka, and Amabari Metrics
> will show No Data Available.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)