我有一个有3个节点的HDFS集群。集群保存了很多小文件(KB),我已经达到了每个节点数百万个块。我又向群集添加了4台新服务器,并启动了平衡器进程,但看起来效果不明显。-目标是减少每台服务器的百万个数据块为了平衡小文件,我应该更改以下参数的值,以支持移动1 KB大小的文件吗?最小数据块大小=1048
**我确实知道HDFS应该管理大文件-正在进行压缩
dm7nw8vv1#
如果您正在运行带有dfs.balancer.getBlocks.min-block-size选项的版本,则平衡器将不会移动低于该大小的块。如果您的集群中包含大小文件,平衡器会随机选择块。因此,如果大多数块都很小,它会倾向于移动更多的小块,而不是大块,然后较小的块倾向于在使用较少磁盘空间的节点上构建。引入上述参数是为了防止这种情况发生。因此,如果你需要让小块移动,你将需要调整该设置为比默认值小的东西来让你的块移动。
1条答案
按热度按时间dm7nw8vv1#
如果您正在运行带有dfs.balancer.getBlocks.min-block-size选项的版本,则平衡器将不会移动低于该大小的块。
如果您的集群中包含大小文件,平衡器会随机选择块。因此,如果大多数块都很小,它会倾向于移动更多的小块,而不是大块,然后较小的块倾向于在使用较少磁盘空间的节点上构建。
引入上述参数是为了防止这种情况发生。
因此,如果你需要让小块移动,你将需要调整该设置为比默认值小的东西来让你的块移动。