[ 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)