我运行了一个2.4.1版本的集群,其中有1个namenode和4个datanode(namenode就是其中之一)。我正在运行一个java程序,它每秒钟向hdfs中的一个文件追加数据。当前文件大小约为100GB。我的复制因子是2。
我最近开始在向文件中添加数据时遇到问题。每次我的程序试图附加到文件时,都会出现异常 org.apache.hadoop.ipc.RemoteException(java.io.IOException): append: lastBlock=blk_1073742660_2323939 of src=/user/hduser/siridata.txt is not sufficiently replicated yet.
如果我运行fsck,它会显示文件已损坏-缺少一个块。有时文件系统通过随机组合运行 balancer
/ namenode recovery
/ hdfs dfs -setrep
. 运行append一段时间后,原来的问题再次出现。我甚至曾经删除过一个已经有损坏数据的节点,系统得到了100%的健康,没有任何问题-有一段时间。
我也试着开始使用新的数据文件,但同样的问题仍然存在。
有什么问题吗?谢谢!
暂无答案!
目前还没有任何答案,快来回答吧!