我最近将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使用百分比...
根据HDFS Architecture文档,“在常见情况下,当复制因子为3时,如果写入器位于数据节点上,则HDFS的放置策略是在本地计算机上放置一个副本...”
您可能正在其中一个数据节点上执行moveFromLocal。似乎您需要从非数据节点执行moveFromLocal才能在群集上平均分配。