[Hadoop] - 異常Cannot obtain block length for LocatedBlock


在Flume NG+hadoop的開發中,運行mapreduce的時候出現異常Error: java.io.IOException: Cannot obtain block length for LocatedBlock{BP-235416765-192.168.30.244-1430221967536:blk_1073889944_149172; getBlockSize()=45839; corrupt=false; offset=0; locs=[10.188.10.98:50010, 10.188.10.95:50010, 10.188.10.245:50010]},我們通過fsck命令發現當前文件處於正在寫的過程中,而且文件內容為空。截圖如下:

所以在我們獲取數據的時候,直接導致出現異常。那么針對這種情況,我的想法是:第一種方案立即將這個文件寫出到磁盤上去,第二種將這個文件刪除。


但是第一種解決方案我現在也不知道怎么弄,所以在這里我直接選擇刪除hadoop dfs -rm xxxxx即可


 

采用保留部分數據:

  1. 先cp到一個hdfs的目錄中

  2. 再刪除原本的那個文件

  3. 在將copy的文件復制回去 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM