高内存机器上的Hadoop单节点配置

时间:2012-12-07 21:43:34

标签: hadoop mapreduce hdfs

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

2 个答案:

答案 0 :(得分:2)

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

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

您需要的RAM量取决于您在map-reduce作业中的操作,尽管您可以增加堆大小:

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

有关详细信息,请参阅cluster setup

答案 1 :(得分:0)

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

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