Hadoop的8088页面失效问题
程序员文章站
2022-05-25 08:30:01
...
前两天重启了测试的hadoop集群,今天访问集群的8088任务监控页面,发现不能用了,总是报500错误,空指针异常,但是以前却是好好的
2016-03-31 10:59:55,418 ERROR org.mortbay.log: /cluster java.lang.NullPointerException at org.apache.http.client.utils.URLEncodedUtils.parse(URLEncodedUtils.java:235) at org.apache.hadoop.security.token.delegation.web.ServletUtils.getParameter(ServletUtils.java:48) at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationHandler.managementOperation(DelegationTokenAuthenticationHandler.java:171) at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:514) at org.apache.hadoop.yarn.server.security.http.RMAuthenticationFilter.doFilter(RMAuthenticationFilter.java:82) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) at org.apache.hadoop.http.HttpServer2$QuotingInputFilter.doFilter(HttpServer2.java:1243) 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.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) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 2016-03-31 11:00:02,538 ERROR org.apache.hadoop.yarn.server.resourcemanager.ResourceManager: RECEIVED SIGNAL 15: SIGTERM 2016-03-31 11:00:02,540 ERROR org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager: ExpiredTokenRemover received java.lang.InterruptedException: sleep interrupted
看异常提示,应该是判断一个字符串是否为空出的问题,然后我就想起了。以前在调试Hadoop2.7.1+Pig0.15.0+Solr5.1.0的时候。因为solr里面的http的jar包和hbase+hadoop的不一致,所以导致索引无法构建成功的情况,临时替换了hadoop的里面的http包,想到这里,我便又查看了原始hadoop自带的http包,发现这行有判断是否为空的措施,新版本的http包竟然没有判断,应该算是httpclient的一个bug?,所以还是把老的ja包的重新拷回hadoop的lib里面,并重启了yarn之后,访问http://hadoop:8088端号,页面又可以正常显示了。
总结:不到万不得已的时候,不要轻易动原始框架的jar包,有可能以后会出现其他的问题。
有什么问题 可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园
下一篇: JAVA集合之间的相互转换