2012-12-07 24 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作業,則會出現問題。我認爲任何數量的配置都不會對你有所幫助。