2011-11-07 16 views
0

hadoop MapReduceジョブを実行するためにAmazon Cloudに設定しようとしていますが、クラスタを正常に作成するのに苦労しています。私はec2ファイルをダウンロードし、証明書と鍵ペアファイルを持っていますが、私は問題を引き起こしているAMIだと思います。マスターノードとn個のスレーブノードを持つクラスタを実行しようとすると、標準の互換性のあるAMIを使用してn + 1インスタンスを起動し、ターミナルにコード "hadoop-ec2 launch-cluster name n"を実行します。マスターノードは正常ですが、スレーブノードが起動すると "欠落しているパラメータ-h(AMIがありません)"というエラーが表示され、どのように進行するのか完全にはわかりません。Amazon Cloud上のHadoop

また、私の仕事の中には、hadoopsのパラメータ設定(特にmapred-site.xml設定ファイル)の変更が必要な場合、このファイルを変更することは可能でしょうか? hadoopはすでにアマゾンマシンにインストールされていますが、このファイルはアクセス可能で変更可能です。

おかげ

答えて

1

あなたはAmazon Elastic MapReduceを試みたことがありますか?これは、必要に応じて指定されたサイズのHadoopクラスタを呼び出すシンプルなAPIです。

これは、手動で独自のクラスタを作成する方が簡単です。

しかし、ジョブフローがデフォルトで終了すると、クラスタは停止してS3に出力されます。必要なものが単純に多少の処理をするだけであれば、これは道のりかもしれません。

HDFSのコンテンツを永続的に保存する必要がある場合(HBaseをHadoop上で実行している場合など)、実際にEC2上に独自のクラスタが必要な場合があります。この場合、ClouderaのAmazon EC2用Hadoopの配布が役立つかもしれません。それが起動します

ノード上

変更Hadoopの構成はEC2ブートストラップアクションを使用して可能である:

Q:どのように私は私のジョブフローのためのHadoopの設定を構成していますか?

Elastic MapReduceのデフォルトのHadoop設定は、ほとんどの作業負荷に適しています。ただし、ジョブフローの特定のメモリおよび処理要件に基づいて、これらの設定を調整することが適切な場合があります。たとえば、ジョブフロータスクがメモリを大量に使用する場合は、コアあたりのタスク数を減らし、ジョブトラッカーのヒープサイズを小さくすることができます。この状況では、起動時にジョブフローを設定するための事前定義されたブートストラップアクションが利用できます。設定の詳細と使用方法については、「開発者ガイド」のメモリの集中ブートストラップアクションの設定を参照してください。追加の定義済みのブートストラップアクションを使用すると、クラスタ設定を任意の値にカスタマイズできます。使用方法については、「開発者ガイド」のConfigure Hadoop Bootstrap Actionを参照してください。

クラスタを起動する方法について

、明確にしてください:

私はマスターノードとnスレーブノードでクラスタを実行しようとしている場合は、私は標準を使用して、N + 1つのインスタンスを起動します互換性のあるAMIを作成し、端末にコード「hadoop-ec2 launch-cluster name n」を実行します。マスターノードは正常ですが、スレーブノードが起動すると "欠落しているパラメータ-h(AMIがありません)"というエラーが表示され、どのように進行するのか完全にはわかりません。

どのように開始しようとしていますか?どのAMIを使用していますか?

+0

まず、私が見つけたAMIを使用していました。私は端末で「ec2-describe-images -o amazon」のようなコードを実行していて、AMIが動作するものは何でもピックアップしていました。 "ec2-run-instances amixxxxxx -n 5 -k keypair"を使用してこのAMIでインスタンスを起動し、最後に "hadoop-ec2 launch cluster name 4"を持つクラスタを起動しようとしました(これは4つのスレーブノード)。正直言って、私は雲の中では非常に新しく、実際に私がやっていることの手がかりを持っていません。 –

+0

私が変更しようとしているパラメータは、io.sort.mb(mapとreduceフェーズの間でソートするためのバッファメモリの量など)などのhadoopのジョブパラメータです。ファイルを変更することによって制御されます-site.xml)。これはhadoopフォルダに格納されています。 –

+0

@Jonathan Viccary OK、Hadoopのsrc/contrib/ec2/binから "hadoop-ec2"スクリプトを使用しています。このようにhadoopクラスタを起動したいのですが...スクリプトを見て、インスタンスを自動的に起動することがわかります。ec2-run-instancesを手動で呼び出す必要はありません。しかし、あなたはそれを設定する必要があります:http://wiki.apache.org/hadoop/AmazonEC2#Setting_up –

関連する問題