1

我在具有大量 RAM 和非常有限的可用磁盘空间大小的机器上有一个Apache Hadoop 1.1.1 的单节点实例,其默认参数值(参见例如[1][2] )。然后,我注意到这个 Hadoop 实例在映射任务期间浪费了大量磁盘空间。为了利用高 RAM 容量并减少磁盘空间使用,我应该注意哪些配置参数?

4

2 回答 2

2

您可以使用几个 mapred.* 参数来压缩映射输出,这将大大减少存储映射器输出所需的磁盘空间量。请参阅this question以获得一些好的指示。

请注意,不同的压缩编解码器会有不同的问题(即 GZip 需要比 LZO 更多的 CPU,但您必须自己安装 LZO)。这个页面对 Hadoop 中的压缩问题进行了很好的讨论,尽管它有点过时了。

您需要的 RAM 量取决于您在 map-reduce 作业中所做的事情,尽管您可以在以下方面增加堆大小:

conf/mapred-site.xml mapred.map.child.java.opts     

有关这方面的更多详细信息,请参阅集群设置

于 2012-12-08T00:50:20.953 回答
0

您可以dfs.datanode.du.reserved在 hdfs-site.xml 中使用来指定不使用的磁盘空间量。我不知道 hadoop 是否能够补偿更高的内存使用量。

但是,如果您运行磁盘 i/o 密集型的 mapreduce 作业,您将遇到问题。我认为任何数量的配置都不会帮助你。

于 2012-12-07T22:54:31.247 回答