Hive Tez error-INIT_失败,无法创建InputInitializerManager

Hive Tez error-INIT_失败,无法创建InputInitializerManager,hive,hadoop2,tez,Hive,Hadoop2,Tez,我已经在我的机器上安装了apache-tez-0.8.1-alpha、hadoop 2.7.2和hive-2.0.1。我将mapreduce框架更改为“Thread tez”。因此我可以使用tez运行hadoop应用程序。但是,当我在hive中通过设置hive.execution.engine=tez来运行使用hive查询的应用程序时,我得到以下错误: 0: jdbc:hive2://192.168.12.252:10000> select count(*) from sample1 wh

我已经在我的机器上安装了apache-tez-0.8.1-alpha、hadoop 2.7.2和hive-2.0.1。我将mapreduce框架更改为“Thread tez”。因此我可以使用tez运行hadoop应用程序。但是,当我在hive中通过设置hive.execution.engine=tez来运行使用hive查询的应用程序时,我得到以下错误:

0: jdbc:hive2://192.168.12.252:10000> select count(*) from sample1 where ADD_Length=190;
INFO  : Compiling command(queryId=vasanth_20160613160611_b5ec0f57-6a73-4f13-bd24-ed9f051d120e): select count(*) from sample1 where ADD_Length=190
INFO  : Semantic Analysis Completed
INFO  : Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:c0, type:bigint, comment:null)], properties:null)
INFO  : Completed compiling command(queryId=vasanth_20160613160611_b5ec0f57-6a73-4f13-bd24-ed9f051d120e); Time taken: 1.336 seconds
INFO  : Concurrency mode is disabled, not creating a lock manager
INFO  : Executing command(queryId=vasanth_20160613160611_b5ec0f57-6a73-4f13-bd24-ed9f051d120e): select count(*) from sample1 where ADD_Length=190
INFO  : Query ID = vasanth_20160613160611_b5ec0f57-6a73-4f13-bd24-ed9f051d120e
INFO  : Total jobs = 1
INFO  : Launching Job 1 out of 1
INFO  : Starting task [Stage-1:MAPRED] in serial mode
INFO  : Tez session hasn't been created yet. Opening session
INFO  : Dag name: select count(*) from samp...ADD_Length=190(Stage-1)
INFO  : 

ERROR : Status: Failed
ERROR : Vertex failed, vertexName=Map 1, vertexId=vertex_1465813808799_0002_1_00, diagnostics=[Vertex vertex_1465813808799_0002_1_00 [Map 1] killed/failed due to:INIT_FAILURE, Fail to create InputInitializerManager, org.apache.tez.dag.api.TezReflectionException: Unable to instantiate class with 1 arguments: org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator
    at org.apache.tez.common.ReflectionUtils.getNewInstance(ReflectionUtils.java:71)
    at org.apache.tez.common.ReflectionUtils.createClazzInstance(ReflectionUtils.java:89)
    at org.apache.tez.dag.app.dag.RootInputInitializerManager.createInitializer(RootInputInitializerManager.java:139)
    at org.apache.tez.dag.app.dag.RootInputInitializerManager.runInputInitializers(RootInputInitializerManager.java:115)
    at org.apache.tez.dag.app.dag.impl.VertexImpl.setupInputInitializerManager(VertexImpl.java:4676)
    at org.apache.tez.dag.app.dag.impl.VertexImpl.access$4300(VertexImpl.java:204)
    at org.apache.tez.dag.app.dag.impl.VertexImpl$InitTransition.handleInitEvent(VertexImpl.java:3445)
    at org.apache.tez.dag.app.dag.impl.VertexImpl$InitTransition.transition(VertexImpl.java:3394)
    at org.apache.tez.dag.app.dag.impl.VertexImpl$InitTransition.transition(VertexImpl.java:3375)
    at org.apache.hadoop.yarn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:385)
    at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
    at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
    at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
    at org.apache.tez.state.StateMachineTez.doTransition(StateMachineTez.java:57)
    at org.apache.tez.dag.app.dag.impl.VertexImpl.handle(VertexImpl.java:1975)
    at org.apache.tez.dag.app.dag.impl.VertexImpl.handle(VertexImpl.java:203)
    at org.apache.tez.dag.app.DAGAppMaster$VertexEventDispatcher.handle(DAGAppMaster.java:2090)
    at org.apache.tez.dag.app.DAGAppMaster$VertexEventDispatcher.handle(DAGAppMaster.java:2076)
    at org.apache.tez.common.AsyncDispatcher.dispatch(AsyncDispatcher.java:183)
    at org.apache.tez.common.AsyncDispatcher$1.run(AsyncDispatcher.java:114)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.apache.tez.common.ReflectionUtils.getNewInstance(ReflectionUtils.java:68)
    ... 20 more
Caused by: java.lang.NoClassDefFoundError: org/apache/hadoop/mapred/split/SplitLocationProvider
    at org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator.<init>(HiveSplitGenerator.java:96)
    ... 25 more
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.mapred.split.SplitLocationProvider
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 26 more
0:jdbc:hive2://192.168.12.252:10000>从示例1中选择count(*),其中ADD_Length=190;
信息:编译命令(queryId=vasanth_20160613160611_b5ec0f57-6a73-4f13-bd24-ed9f051d120e):从示例1中选择count(*),其中ADD_Length=190
信息:语义分析已完成
信息:返回配置单元架构:架构(fieldSchemas:[FieldSchema(名称:c0,类型:bigint,注释:null)],属性:null)
信息:已完成编译命令(queryId=vasanth_20160613160611_b5ec0f57-6a73-4f13-bd24-ed9f051d120e);所用时间:1.336秒
信息:禁用并发模式,不创建锁管理器
信息:执行命令(queryId=vasanth_20160613160611_b5ec0f57-6a73-4f13-bd24-ed9f051d120e):从样本1中选择计数(*),其中添加长度=190
信息:查询ID=vasanth_20160613160611_b5ec0f57-6a73-4f13-bd24-ed9f051d120e
信息:总工作=1
信息:正在启动作业1(共1个)
信息:以串行模式启动任务[Stage-1:MAPRED]
信息:Tez会议尚未创建。开幕会议
信息:Dag名称:从samp中选择计数(*)…添加长度=190(阶段1)
信息:
错误:状态:失败
错误:顶点失败,vertexName=Map 1,vertexId=Vertex_1465813808799_0002_1_00,diagnostics=[Vertex-Vertex_1465813808799_0002_1_00[贴图1]由于以下原因导致终止/失败:INIT_失败,无法创建InputInitializerManager,org.apache.tez.dag.api.TezReflectionException:无法使用1个参数实例化类:org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator
位于org.apache.tez.common.ReflectionUtils.getNewInstance(ReflectionUtils.java:71)
位于org.apache.tez.common.ReflectionUtils.createClazzInstance(ReflectionUtils.java:89)
位于org.apache.tez.dag.app.dag.RootInputInitializerManager.createInitializer(RootInputInitializerManager.java:139)
位于org.apache.tez.dag.app.dag.RootInputInitializerManager.runInputInitializers(RootInputInitializerManager.java:115)
位于org.apache.tez.dag.app.dag.impl.VertexImpl.setupInputInitializerManager(VertexImpl.java:4676)
org.apache.tez.dag.app.dag.impl.VertexImpl.access$4300(VertexImpl.java:204)
在org.apache.tez.dag.app.dag.impl.VertexImpl$InitTransition.handleInitEvent(VertexImpl.java:3445)上
位于org.apache.tez.dag.app.dag.impl.VertexImpl$InitTransition.transition(VertexImpl.java:3394)
位于org.apache.tez.dag.app.dag.impl.VertexImpl$InitTransition.transition(VertexImpl.java:3375)
位于org.apache.hadoop.warn.state.StateMachineFactory$MultipleInternalArc.doTransition(StateMachineFactory.java:385)
位于org.apache.hadoop.warn.state.StateMachineFactory.doTransition(StateMachineFactory.java:302)
位于org.apache.hadoop.warn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
位于org.apache.hadoop.warn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
位于org.apache.tez.state.stateMachinetz.doTransition(stateMachinetz.java:57)
位于org.apache.tez.dag.app.dag.impl.VertexImpl.handle(VertexImpl.java:1975)
位于org.apache.tez.dag.app.dag.impl.VertexImpl.handle(VertexImpl.java:203)
位于org.apache.tez.dag.app.DAGAppMaster$VertexEventDispatcher.handle(DAGAppMaster.java:2090)
位于org.apache.tez.dag.app.DAGAppMaster$VertexEventDispatcher.handle(DAGAppMaster.java:2076)
位于org.apache.tez.common.AsyncDispatcher.dispatch(AsyncDispatcher.java:183)
位于org.apache.tez.common.AsyncDispatcher$1.run(AsyncDispatcher.java:114)
运行(Thread.java:745)
原因:java.lang.reflect.InvocationTargetException
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:423)
位于org.apache.tez.common.ReflectionUtils.getNewInstance(ReflectionUtils.java:68)
…还有20个
原因:java.lang.NoClassDefFoundError:org/apache/hadoop/mapred/split/SplitLocationProvider
位于org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator(HiveSplitGenerator.java:96)
…还有25个
原因:java.lang.ClassNotFoundException:org.apache.hadoop.mapred.split.SplitLocationProvider
位于java.net.URLClassLoader.findClass(URLClassLoader.java:381)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:424)
位于sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
位于java.lang.ClassLoader.loadClass(ClassLoader.java:357)
…还有26个
tez site.xml:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
      <name>tez.lib.uris</name>
      <value>${fs.defaultFS}/apps/tez-0.8.1-alpha/tez-0.8.1-alpha.tar.gz</value>
    </property>
 <property>
    <name>tez.am.container.reuse.enabled</name>
    <value>true</value>
    <description>Configuration to specify whether container should be reused</description>
  </property>


</configuration>

tez.lib.uris
${fs.defaultFS}/apps/tez-0.8.1-alpha/tez-0.8.1-alpha.tar.gz
tez.am.container.reuse.enabled
真的
用于指定是否应重用容器的配置
我已经将tez tarball和hive-exec-2.0.1.jar复制到hdfs中的/apps/tez-0.8.1/location