You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-user@hadoop.apache.org by Aaron Baff <Aa...@telescope.tv> on 2011/03/22 00:43:30 UTC

Problem trying to append file

I'm trying out the HDFS Append with r0.21.0 in a quick little simple application before using in my production code. It creates a new file, writes out 50K records, closes the file, then opens the file in append, writes another 100K records, then closes the file. Everything is fine up until it goes to close the append stream. When it does that, I get the below error. Furthermore, when I check the datanode logfile for one that had the issue, I'm seeing some stuff in the logfile relating to that block. First is the output from my small application, 2nd is the output from the datanode logfile.

I can't do a hadoop fs -fsck at this moment due to some production data being used (very small cluster, we're a pretty new Hadoop shop), so while I'm pretty sure an fsck would be fine, I want to wait until we're done with it before running that, or asking the sysadmin to restart the DFS. This will be early tomorrow at the earliest, but I can try just about any other suggestions. Help!

--Aaron

03-21-11 15:58:17 [INFO ] Exception in createBlockOutputStream java.io.EOFException
03-21-11 15:58:17 [WARN ] Error Recovery for block blk_8212105008236569520_123591 in pipeline 10.10.11.50:50010, 10.10.11.51:50010, 10.10.11.52:50010: bad datanode 10.10.11.50:50010
03-21-11 15:58:18 [INFO ] Exception in createBlockOutputStream java.io.EOFException
03-21-11 15:58:18 [WARN ] Error Recovery for block blk_8212105008236569520_123591 in pipeline 10.10.11.51:50010, 10.10.11.52:50010: bad datanode 10.10.11.51:50010
03-21-11 15:58:18 [INFO ] Exception in createBlockOutputStream java.io.EOFException
03-21-11 15:58:18 [WARN ] DataStreamer Exception: java.lang.NullPointerException
            at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:480)

03-21-11 15:58:18 [WARN ] DFSOutputStream ResponseProcessor exception  for block blk_8212105008236569520_123591java.lang.NullPointerException
            at org.apache.hadoop.hdfs.protocol.DataTransferProtocol$PipelineAck.readFields(DataTransferProtocol.java:531)
            at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer$ResponseProcessor.run(DFSOutputStream.java:616)

03-21-11 15:58:19 [ERROR] java.io.IOException - All datanodes 10.10.11.52:50010 are bad. Aborting...
java.io.IOException: All datanodes 10.10.11.52:50010 are bad. Aborting...
            at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.setupPipelineForAppendOrRecovery(DFSOutputStream.java:753)
            at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:431)
03-21-11 15:58:19 [ERROR] Exception closing file /user/abaff/test/append/test4.out : java.io.IOException: All datanodes 10.10.11.52:50010 are bad. Aborting...
java.io.IOException: All datanodes 10.10.11.52:50010 are bad. Aborting...
            at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.setupPipelineForAppendOrRecovery(DFSOutputStream.java:753)
            at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:431)




2011-03-21 15:58:17,694 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Receiving block blk_8212105008236569520_123591 src: /10.8.4.6:3812 dest: /10.10.11.50:50010
2011-03-21 15:58:17,695 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Appending to replica FinalizedReplica, blk_8212105008236569520_123591, FINALIZED
  getNumBytes()     = 1538890
  getBytesOnDisk()  = 1538890
  getVisibleLength()= 1538890
  getVolume()       = /hadoop/hadoop-datastore/hadoop-hadoop/dfs/data/current/finalized
  getBlockFile()    = /hadoop/hadoop-datastore/hadoop-hadoop/dfs/data/current/finalized/subdir14/subdir45/blk_8212105008236569520
  unlinked=false
2011-03-21 15:58:17,735 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: IOException in BlockReceiver constructor. Cause is
2011-03-21 15:58:17,736 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: writeBlock blk_8212105008236569520_123591 received exception java.io.IOException: Failed to get link count on file /hadoop/hadoop-datastore/hadoop-hadoop/dfs/data/current/finalized/subdir14/subdir45/blk_8212105008236569520: message=null; error=stat: illegal option -- c; exit value=1
2011-03-21 15:58:17,736 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: DatanodeRegistration(10.10.11.50:50010, storageID=DS-1360244006-10.10.11.50-50010-1290637962096, infoPort=50075, ipcPort=50020):DataXceiver
java.io.IOException: Failed to get link count on file /hadoop/hadoop-datastore/hadoop-hadoop/dfs/data/current/finalized/subdir14/subdir45/blk_8212105008236569520: message=null; error=stat: illegal option -- c; exit value=1
            at org.apache.hadoop.fs.FileUtil.createIOException(FileUtil.java:709)
            at org.apache.hadoop.fs.FileUtil.access$000(FileUtil.java:42)
            at org.apache.hadoop.fs.FileUtil$HardLink.getLinkCount(FileUtil.java:682)
            at org.apache.hadoop.hdfs.server.datanode.ReplicaInfo.unlinkBlock(ReplicaInfo.java:215)
            at org.apache.hadoop.hdfs.server.datanode.FSDataset.append(FSDataset.java:1116)
            at org.apache.hadoop.hdfs.server.datanode.FSDataset.append(FSDataset.java:1099)
            at org.apache.hadoop.hdfs.server.datanode.BlockReceiver.<init>(BlockReceiver.java:112)
            at org.apache.hadoop.hdfs.server.datanode.DataXceiver.opWriteBlock(DataXceiver.java:258)
            at org.apache.hadoop.hdfs.protocol.DataTransferProtocol$Receiver.opWriteBlock(DataTransferProtocol.java:390)
            at org.apache.hadoop.hdfs.protocol.DataTransferProtocol$Receiver.processOp(DataTransferProtocol.java:331)
            at org.apache.hadoop.hdfs.server.datanode.DataXceiver.run(DataXceiver.java:111)
            at java.lang.Thread.run(Thread.java:619)