2012-03-30 83 views
3

我已經使用ElasticMapReduce一段時間了。這很方便,但我無法運行HBase,因爲Hadoop集羣只是暫時可用(我在HBase and Hadoop問了一些相關的問題)。EC2上的Hadoop與ElasticMapReduce/S3

所以我想嘗試在一組EC2機器上安裝Hadoop。我知道Hadoop有一些與EC2相關的目錄 - src/contrib/ec2。看起來Hadoop集羣可以簡單地通過輸入命令啓動,我可以登錄到主節點以運行作業等等。在嘗試這個之前,我想知道一直使用它的ppl的一些細節。謝謝!

+0

好問題,很想看到一些答案。我知道Elastic MapReduce使用S3作爲存儲平臺,所以它通常比EC2上的Hadoop效率低,因爲它不能像使用HDFS(s3在不同系統上運行)那樣使用數據區域優化。 – Christophe 2012-03-30 19:31:17

回答

0

實際上,在亞馬遜上使用hadoop有兩種選擇 - 爲您提供自己的集羣或usint EMR。正交於此決定,您可以使用HDFS或S3作爲您的文件系統。 這不是一個簡短的故事,但我會嘗試提高所有這些選擇的優點/缺點。
如果您需要每天運行單個/幾個作業,並且始終不需要hadoop羣集,則可以使用EMR。在這種情況下,您可以將數據放入s3中,並且可以完整編寫該過程的腳本。主要缺點 - 定製並不容易,使用第三方庫等。在這種情況下,您還可以節省安裝羣集的時間。 如果你想調整hadoop - 你應該安裝你自己的集羣。
當您的數據已經在s3中或您需要在處理後存儲它 - s3是一個不錯的選擇。在同一時間 - 使用HDFS後性能可能會降低。必須說明的是,亞馬遜實例的本地存儲非常少 - 因此它非常昂貴,您應該保持羣集運行(並支付)以保持此存儲。
我會告訴你,如果你確實需要HDFS的所有throuput,你確實需要在自己的硬件上擁有自己的集羣。在亞馬遜上工作時 - 使用S3作爲文件系統是最實際的。