修改HDFS的块放置策略

时间:2013-01-24 04:49:34

标签: hadoop hdfs

我想修改HDFS的默认块放置策略以适应我的应用。
例如,我有两个文件说file1(128MB)和file2(128MB)。块大小为64MB,每个文件将被分成两个块。

我想确保file1和file2的block1都放在同一个datanode上。如果可能的话,我还想确保复制品也放在同一组datanode上。

问题1。 这可能吗?如果是这样,源代码中的哪些类需要修改?

问题2。 如何将 copyFromLocal 等命令映射到hadoop源代码中的函数?

1 个答案:

答案 0 :(得分:3)

可以通过扩展BlockPlacementPolicy接口并将类指向Hadoop配置文件中的 dfs.block.replicator.classname 属性来修改块放置策略的默认行为。

Hadoop操作与特定节点无关,这使得Hadoop能够更好地应对分布式计算中的固有问题。在特定节点上拥有两个文件块的要求是什么?根据已知的要求,可以找到更好的解决方案。