修改hdfs的块放置策略

hrysbysz  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(319)

我想修改hdfs的默认块放置策略以适合我的应用程序。
例如,我有两个文件,分别是file1(128mb)和file2(128mb)。将块大小设为64mb,每个文件将被分为两个块。
我想确保file1和file2的block1都放在同一个datanode上。如果可能的话,我还要确保副本也放在同一组数据节点上。
问题1。这可能吗?如果是,源代码中的哪些类需要修改?
问题2。copyfromlocal等命令是如何Map到hadoop源代码中的函数的?

xsuvu9jc

xsuvu9jc1#

通过扩展blockplacementpolicy接口并将类指向hadoop配置文件中的dfs.block.replicator.classname属性,可以修改块放置策略的默认行为。
hadoop操作不依赖于特定的节点,这使得hadoop对分布式计算中固有的问题更有弹性。在一个特定节点上为两个文件设置块的要求是什么?根据已知的需求,可以找到更好的解决方案。

相关问题