java—在hdfs中附加到文件时“尚未充分复制”

omtl5h9j  于 2021-06-02  发布在  Hadoop
关注(0)|答案(0)|浏览(279)

我运行了一个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%的健康,没有任何问题-有一段时间。
我也试着开始使用新的数据文件,但同样的问题仍然存在。
有什么问题吗?谢谢!

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题