3

Amazon EMR を使用していますが、ほとんどのジョブを正常に実行できます。EMR クラスター内でより多くのデータの読み込みと生成を開始すると、問題が発生します。クラスターのストレージ容量が不足しています。

各データノードは c1.medium インスタンスです。ここここのリンクによると、各データ ノードには 350 GB のインスタンス ストレージが必要です。ElasticMapReduce Slave セキュリティ グループを介して、AWS コンソールで c1.medium データ ノードが実行中で、インスタンス ストアであることを確認できました。

namenode で hadoop dfsadmin -report を実行すると、各データ ノードには約 10 GB のストレージがあります。これは、df -h を実行することでさらに検証されます

hadoop@domU-xx-xx-xx-xx-xx:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1             9.9G  2.6G  6.8G  28% /
tmpfs                 859M     0  859M   0% /lib/init/rw
udev                   10M   52K   10M   1% /dev
tmpfs                 859M  4.0K  859M   1% /dev/shm

350 GB のフル ストレージで起動するようにデータ ノードを構成するにはどうすればよいですか? ブートストラップアクションを使用してこれを行う方法はありますか?

4

1 に答える 1

7

さらに調査を行い、AWS フォーラムに投稿した結果、内部で何が起こったのか完全には理解できませんでしたが、解決策を見つけました。それが大丈夫なら、私はこれを答えとして投稿すると思いました。

AMI バージョン 2.0 にバグがあることが判明しました。これはもちろん、私が使おうとしていたバージョンでした。(hadoop 0.20 をデフォルトにしたかったので、2.0 に切り替えました) AMI バージョン 2.0 のバグにより、c1.mediums が起動する 32 ビット インスタンスでのインスタンス ストレージのマウントが妨げられます。

CLI ツールで AMI バージョンが「最新」を使用するように指定することで、問題が修正され、適切な 350 GB のストレージで各 c1.medium が起動されました。

例えば

./elastic-mapreduce --create --name "Job" --ami-version "latest" --other-options

AMI と「最新」の使用に関する詳細については、こちらを参照してください。現在、「最新」は AMI 2.0.4 に設定されています。AMI 2.0.5 は最新のリリースですが、まだ少しバグがあるようです。

于 2012-06-02T13:58:07.697 に答える