Hadoop:java.io.IOException:没有活动节点包含当前块。将从namenode获取新的块位置并重试

时间:2013-11-21 07:26:26

标签: hadoop hdfs

我在伪分布式模式下使用Hadoop,一切正常。但每当我重新启动计算机时,namenode进入safenode。为了强制让namenode离开safemode,我正在使用$ bin/hadoop dfsadmin -safemode leave命令。但在那之后,我有一个情况,我想知道它来自哪里。当我使用-ls时,我可以看到文件,但是当我尝试获取文件时,我无法检索此块。我收到了以下错误

 $ hadoop fs -cat /user/op/part-r-00000 

13/11/21 12:45:12 INFO hdfs.DFSClient: No node available for block: blk_-4538200827997952429_1071 file=/user/op/part-r-00000
13/11/21 12:45:12 INFO hdfs.DFSClient: Could not obtain block blk_-4538200827997952429_1071 from any node: java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry...

13/11/21 12:45:15 INFO hdfs.DFSClient: No node available for block: blk_-4538200827997952429_1071 file=/user/op/part-r-00000
13/11/21 12:45:15 INFO hdfs.DFSClient: Could not obtain block blk_-4538200827997952429_1071 from any node: java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry...

13/11/21 12:45:18 INFO hdfs.DFSClient: No node available for block: blk_-4538200827997952429_1071 file=/user/op/part-r-00000
13/11/21 12:45:18 INFO hdfs.DFSClient: Could not obtain block blk_-4538200827997952429_1071 from any node: java.io.IOException: No live nodes contain current block. Will get new block locations from namenode and retry...

13/11/21 12:45:21 WARN hdfs.DFSClient: DFS Read: java.io.IOException: Could not obtain block: blk_-4538200827997952429_1071 file=/user/op/part-r-00000
    at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.chooseDataNode(DFSClient.java:2426)
    at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.blockSeekTo(DFSClient.java:2218)
    at org.apache.hadoop.hdfs.DFSClient$DFSInputStream.read(DFSClient.java:2381)
    at java.io.DataInputStream.read(DataInputStream.java:100)
    at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:68)
    at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:47)
    at org.apache.hadoop.io.IOUtils.copyBytes(IOUtils.java:100)
    at org.apache.hadoop.fs.FsShell.printToStdout(FsShell.java:114)
    at org.apache.hadoop.fs.FsShell.access$100(FsShell.java:49)
    at org.apache.hadoop.fs.FsShell$1.process(FsShell.java:349)
    at org.apache.hadoop.fs.FsShell$DelayedExceptionThrowing.globAndProcess(FsShell.java:1913)
    at org.apache.hadoop.fs.FsShell.cat(FsShell.java:346)
    at org.apache.hadoop.fs.FsShell.doall(FsShell.java:1557)
    at org.apache.hadoop.fs.FsShell.run(FsShell.java:1776)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79)
    at org.apache.hadoop.fs.FsShell.main(FsShell.java:1895)

cat: Could not obtain block: blk_-4538200827997952429_1071 file=/user/op/part-r-00000

0 个答案:

没有答案