2013-01-02 97 views
4

我剛剛按照本指南進行操作:http://rogueleaderr.tumblr.com/post/32768181371/set-up-and-run-a-fully-distributed-hadoop-hbase-cluster以在運行hadoop和hbase的Amazon EC2上設置集羣。亞馬遜EC2和S3:如何讀取和寫入數據

我現在想知道的是如何在我的羣集上運行hbase中的數據?我是否需要將它加載到S3中,然後將其加載到我的hbase集羣中?

是否有加載/提取數據的最佳做法?任何類型的指針將不勝感激,因爲我是新的EC2。

+0

有沒有你不使用Amazon的彈性MapReduce的一個原因?如果您不熟悉在AWS上運行Hadoop,您可能會發現更容易使用它。以下是適用於MapReduce的AWS入門指南:http://docs.aws.amazon.com/ElasticMapReduce/latest/GettingStartedGuide/Welcome.html這是一個有用的教程:http://aws.amazon.com/code/Elastic -MapReduce/2273 – Daan

+0

@Daan我正在將我們的組代碼移動到amazon ec2上,我們已經擁有了我們自己的MapReduce基礎結構,我們希望使用它。 –

回答

4

你會想SSH到您的節點之一,然後你可以使用類似的數據複製到HDFS:

Hadoop的FS -copyFromLocal數據/ sample_rdf.nt輸入/ sample_rdf.nt

這會將文件從本地機器複製到HDFS。當然,假設你已經在你的機器上獲得了這個文件,所以你必須先將它上傳到EC2,或者讓你的EC2節點從某個地方下載。

將文件上傳到S3並將其從S3中使用s3cmd複製到您的機器是有意義的,具體取決於您將多久銷燬一次節點&是否要保留文件供以後使用。

(有該教程,你跟着一些例子,在第三部分。)

+2

爲了增加這一點,如果你最終把你的數據放入S3中​​,你可以使用distcp將它直接複製到HDFS中,例如:'hadoop distcp s3://my.bucket/data/foo hdfs:/// data/bar' –