hive执行时找不到文件

hive计算时找不到文件
2014-03-03 11:13:34,585 INFO org.apache.hadoop.hive.ql.exec.MapOperator: DESERIALIZE_ERRORS:0
2014-03-03 11:13:34,585 INFO org.apache.hadoop.hive.ql.exec.TableScanOperator: 0 finished. closing...
2014-03-03 11:13:34,585 INFO org.apache.hadoop.hive.ql.exec.TableScanOperator: 0 forwarded 94880 rows
2014-03-03 11:13:34,585 INFO org.apache.hadoop.hive.ql.exec.SelectOperator: 1 finished. closing...
2014-03-03 11:13:34,585 INFO org.apache.hadoop.hive.ql.exec.SelectOperator: 1 forwarded 94880 rows
2014-03-03 11:13:34,585 INFO org.apache.hadoop.hive.ql.exec.FileSinkOperator: 2 finished. closing...
2014-03-03 11:13:34,585 INFO org.apache.hadoop.hive.ql.exec.FileSinkOperator: 2 forwarded 0 rows
2014-03-03 11:17:04,153 WARN org.apache.hadoop.mapred.Task: Parent died.  Exiting attempt_201312261829_53653_m_000000_0
2014-03-03 11:17:06,655 WARN org.apache.hadoop.hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No lease on /tmp/hive-hadoop/hive_2014-03-03_11-12-04_451_5763054601146362237/_task_tmp.-ext-10002/curr_date=2014-03-02/dp_id2=104052569/_tmp.000000_0 File does not exist. [Lease.  Holder: DFSClient_attempt_201312261829_53653_m_000000_0, pendingcreates: 625]
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkLease(FSNamesystem.java:1631)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkLease(FSNamesystem.java:1622)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1538)
at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696)
at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)

at org.apache.hadoop.ipc.Client.call(Client.java:1070)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
at $Proxy2.addBlock(Unknown Source)
at sun.reflect.GeneratedMethodAccessor15.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
at $Proxy2.addBlock(Unknown Source)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3510)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3373)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2600(DFSClient.java:2589)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2829)

2014-03-03 11:17:06,656 WARN org.apache.hadoop.hdfs.DFSClient: Error Recovery for block null bad datanode[0] nodes == null
2014-03-03 11:17:06,656 WARN org.apache.hadoop.hdfs.DFSClient: Could not get block locations. Source file "/tmp/hive-hadoop/hive_2014-03-03_11-12-04_451_5763054601146362237/_task_tmp.-ext-10002/curr_date=2014-03-02/dp_id2=104052569/_tmp.000000_0" - Aborting...
2014-03-03 11:17:06,666 ERROR ExecMapper: Hit error while closing operators - failing tree
原因:mapred.task.timeout设置时间过短,如上日志,在200秒左右任务状态没有任何变化,hadoop将该任务kill,并清理临时目录,后续遍找不到临时数据了。

修改参数

<property>
<name>mapred.task.timeout</name>
<value>200000</value>
<description>The number of milliseconds before a task will be
terminated if it neither reads an input, writes an output, nor
updates its status string.
</description>
mapred.task.timeout修改称10分钟600000即可。

你可能感兴趣的:(hive执行时找不到文件)