在hadoop2.0之后支持对文本进行内容追加,在这里我们需要用到public FSDataOutputStream append(Path f) throws IOException
在这里我简单说下我所遇到的坑
原因:我的环境是单机版伪分布式,所以实际上每个文件都只有一个节点,但是通过Java操作API进行文件上传的时候文件的节点数是默认的三个。在测试过程中我误用通过API上传的文件,结果出现了IOException。
解决方法:通过命令进行文件上传之后,再对文件内容进行追加。
同样还是上面的问题:如果在Configuration实例化之后,对Configuration进行setBoolean("dfs.support.append", true);的情况下抛出的异常是不一样的,是org.apache.hadoop.ipc.RemoteException
解决方法是一样的。
注意:对于setBoolean("dfs.support.append", true);在我的运行环境中是可有可无的,各位可以根据自身的运行环境进行调整。