錯誤原文分析
文件操作超租期,實際上就是data stream操作過程中文件被刪掉了。通常是因為Mapred多個task操作同一個文件,一個task完成后刪掉文件導致。這個錯誤跟dfs.datanode.max.transfer.threads參數到達上限有關。這個是datanode同時處理請求的任務上限,總默認值是 4096,該參數取值范圍[1 to 8192]
hadoop docs hdfs-site.xml
dfs.datanode.max.transfer.threads 4096
Specifies the maximum number of threads to use for transferring data in and out of the DN.
解決方案
- 修改$HADOOP_HOME/etc/hadoop/hdfs-site.xml, 增加如下內容:
<property>
<name>dfs.datanode.max.transfer.threads</name>
<value>8192</value>
</property>
重啟hadoop 集群datanode - 重新運行MR任務,跟同事討論過此問題,我們認為可能是這個MR前置任務各種網絡問題&異常導致數據丟失,最終導致 輸入數據不完整
參考鏈接
http://blog.csdn.net/zhoujj303030/article/details/44422415
https://issues.apache.org/jira/browse/HDFS-4723
http://permalink.gmane.org/gmane.comp.jakarta.lucene.hadoop.user/53521
版權聲明:本文為博主原創文章,未經博主允許不得轉載。