环境:
组件 | 版本 |
Hadoop | 3.1.2 |
Hive | 2.3.4 |
故障复现操作:
hive中尝试drop table卡死,然后去hadoop的yarn界面发现如下报错
完整报错:
org.apache.hadoop.service.ServiceStateException: java.lang.NoSuchMethodError: org.apache.commons.lang3.StringUtils.isAnyBlank([Ljava/lang/CharSequence;)Z
at org.apache.hadoop.service.ServiceStateException.convert(ServiceStateException.java:105)
at org.apache.tez.dag.app.DAGAppMaster.startServices(DAGAppMaster.java:1945)
at org.apache.tez.dag.app.DAGAppMaster.serviceStart(DAGAppMaster.java:2012)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:194)
at org.apache.tez.dag.app.DAGAppMaster$9.run(DAGAppMaster.java:2663)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1729)
at org.apache.tez.dag.app.DAGAppMaster.initAndStartAppMaster(DAGAppMaster.java:2659)
at org.apache.tez.dag.app.DAGAppMaster.main(DAGAppMaster.java:2464)
Caused by: java.lang.NoSuchMethodError: org.apache.commons.lang3.StringUtils.isAnyBlank([Ljava/lang/CharSequence;)Z
at org.apache.hadoop.yarn.webapp.WebApp.getPrefix(WebApp.java:278)
at org.apache.hadoop.yarn.webapp.WebApp.parseRoute(WebApp.java:244)
at org.apache.hadoop.yarn.webapp.WebApp.route(WebApp.java:208)
at org.apache.hadoop.yarn.webapp.WebApp.route(WebApp.java:228)
at org.apache.tez.dag.app.web.WebUIService$TezAMWebApp.setup(WebUIService.java:160)
at org.apache.hadoop.yarn.webapp.WebApp.configureServlets(WebApp.java:160)
at com.google.inject.servlet.ServletModule.configure(ServletModule.java:55)
at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:96)
at com.google.inject.Guice.createInjector(Guice.java:73)
at com.google.inject.Guice.createInjector(Guice.java:62)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.build(WebApps.java:387)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:432)
at org.apache.hadoop.yarn.webapp.WebApps$Builder.start(WebApps.java:428)
at org.apache.tez.dag.app.web.WebUIService.serviceStart(WebUIService.java:94)
at org.apache.hadoop.service.AbstractService.start(AbstractService.java:194)
at org.apache.tez.dag.app.DAGAppMaster$ServiceWithDependency.start(DAGAppMaster.java:1865)
at org.apache.tez.dag.app.DAGAppMaster$ServiceThread.run(DAGAppMaster.java:1886)
其实使用hive3.0.0的时候并没有上述报错
下载下述文件
https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.11/commons-lang3-3.11.jar
拷贝到集群的所有节点的
$HADOOP_HOME/lib中