【发布时间】:2020-04-24 21:31:38
【问题描述】:
我最近将我的 Cloudera 环境从 5.8.x(hadoop 2.6.0,hdfs-1)升级到 6.3.x(hadoop 3.0.0,hdfs-1 ) 并且在使用moveFromLocal 加载数据几天后,我才意识到我执行moveFromLocal 的datanode 服务器的DFS Used% 比那个多3 倍其他人。
然后在我加载数据的 hdfs 路径上运行 fsck 和 -blocks、-locations 和 -replicaDetails 标志;我观察到复制的块 (RF=2) all 在同一台服务器上,并且不会分发到其他节点,除非我手动运行 hdfs balancer。
一个月前有一个相关的问题, hdfs put/moveFromLocal not distributing data across data nodes?,并没有真正回答任何问题;我一直加载的文件是 parquet 文件。
Cloudera 5.8.x 中没有这样的问题。我应该在 Cloudera 6.3.x 中进行一些与复制、机架感知或类似内容相关的新配置吗?
任何帮助将不胜感激。
【问题讨论】:
-
我不知道在同一个数据节点上可能有超过 1 个块的副本。你能仔细检查一下吗?
-
是的,如果您将它们分布在服务器上的不同磁盘上是可能的,并且,不确定,但如果您的数据节点少于 RF,则可能驻留在同一个磁盘上,这与复制的目的背道而驰任何。但是,我的意思和我的情况完全不同;也就是说,虽然原始块(主要)分布在所有数据节点上,但每个加载数据块的副本(辅助)都在我运行加载操作的服务器上,即 moveFromLocal。
标签: hadoop hdfs replication cloudera cloudera-cdh