[ 
https://issues.apache.org/jira/browse/AMBARI-16852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Dmytro Sen updated AMBARI-16852:
--------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

Committed to trunk and branch-2.4

> 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: 2.4.0
>
>         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)

Reply via email to