hdfs moveFromLocal 不会在数据节点之间分发副本块



我最近将我的Cloudera环境从5.8.x(hadoop 2.6.0,hdfs-1(升级到6.3.x(hadoop 3.0.0,hdfs-1(,经过几天的数据加载moveFromLocal我才意识到我执行moveFromLocal的数据节点服务器的DFS使用百分比是其他人的3倍。

然后在我加载数据的 hdfs 路径上运行带有-blocks-locations-replicaDetails标志的fsck;我观察到复制块 (RF=2(在同一台服务器上,除非我手动运行hdfs balancer,否则不会分发到其他节点。

一个月前有一个中肯的问题, hdfs put/moveFromLocal 不跨数据节点分发数据?,这并没有真正回答任何问题;我一直加载的文件是镶木地板文件。

在Cloudera 5.8.x中没有这样的问题。我是否应该在Cloudera 6.3.x中进行一些与复制,机架感知或类似内容相关的新配置?

任何帮助将不胜感激。

根据 HDFS 架构文档,"对于常见情况,当复制因子为 3 时,如果写入器位于数据节点上,HDFS 的放置策略是在本地机器上放置一个副本......">

根据同一文档,"由于NameNode 不允许 DataNode 拥有同一块的多个副本,因此创建的最大副本数是当时 DataNode 的总数。

你可能正在其中一个数据节点上执行 moveFromLocal。似乎您需要从非数据节点执行 moveFromLocal 才能在集群上均匀分布。

相关内容

  • 没有找到相关文章

最新更新