2012-12-07 22 views
1

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

回答

2

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

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

的RAM,你需要的金额取决于你在你的地图,减少工作在做什么,虽然可以增加你堆大小:

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

更多这方面的详细信息,请参见cluster setup

0

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

但是,如果您运行磁盘I/O密集型的mapreduce作业,则会出现问题。我认为任何数量的配置都不会对你有所帮助。