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

问题描述 投票:2回答:2

我最近将Cloudera环境从5.8.x(hadoop 2.6.0,hdfs-1)升级到6.3.x(hadoop 3.0.0,hdfs-1),并且经过了几天的数据更新加载moveFromLocal时,我刚意识到执行moveFromLocal的datanode服务器的[DFS使用百分比比其他服务器高3倍。

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

[一个月前有一个相关的问题,hdfs put/moveFromLocal not distributing data across data nodes?,它不能真正回答任何问题;我一直加载的文件是实木复合地板文件。

Cloudera 5.8.x中没有这样的问题。我应该在Cloudera 6.3.x中进行一些与复制,机架识别或诸如此类有关的新配置吗?

任何帮助将不胜感激。

我最近将Cloudera环境从5.8.x(hadoop 2.6.0,hdfs-1)升级到6.3.x(hadoop 3.0.0,hdfs-1),并在使用moveFromLocal加载了几天数据之后,我才意识到DFS使用百分比...

hadoop hdfs replication cloudera cloudera-cdh
2个回答
1
投票

根据HDFS Architecture文档,“在常见情况下,当复制因子为3时,如果写入器位于数据节点上,则HDFS的放置策略是在本地计算机上放置一个副本...”


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.