问题:
分析
一般副本数 默认为3, 当你的datanode 数目小于3 时, 就会报这个错。
也许你的datanode 有3个或者更多, 但是,你的部分datanode一定是不正确的。
比如我, 我就有三个datanode. 但是我之前有一个 datanode 是dimission状态。 所以其实只有两个。
前往 namenode web UI 这个图形化页面查看。是否像下面的列表,是否都有绿色的√。
解决方法:
网上一些方法是说:既然只有两个DataNo可用。就把副本数改为2:,(方法如下)
首先到hdfs 的配置界面,修改参数 replication 值为2
再在 linux 终端 输入 hadoop fs -setrep -R 2 /
如果还想保持三个, 就在 hdfs 实例中,删除这个有问题额Datanode.
然后重新添加一个datanode. 满足有3 个datanode 可用。问题解除。
可能会有人说,datanode 随便删除不好。这里我也不反驳
我的情况, 本身就是一个新的datanode. 不知道有什么问题造成 它变成Dimission了。