Amazon EMR を使用してバイナリを構築する
クラスターで使用するプログラムをコンパイルするためのビルド環境として Amazon EMR を使用できます。Amazon EMR で使用するプログラムのコンパイルは、Amazon EMR が使用しているバージョンと同じ Linux が実行されているシステムで行わなければなりません。32 ビットバージョンについては、32 ビットマシンまたは 32 ビットクロスコンパイルオプションをオンにして、コンパイルしておく必要があります。64 ビットバージョンについては、64 ビットマシンまたは 64 ビットクロスコンパイルオプションをオンにして、コンパイルしておく必要があります。EC2 インスタンスのバージョンの詳細については、「Amazon EMR 管理ガイド」の「EC2 インスタンスを計画し構成する」を参照してください。C++、Python、C# などのプログラミング言語がサポートされいます。
次の表は、Amazon EMR を使用してアプリケーションを構築し、テストするステップを簡単に示しています。
1 | クラスターのマスターノードに接続します。 |
2 | ソースファイルをマスターノードにコピーします。 |
3 | バイナリを構築し、必要に応じて最適化します。 |
4 | バイナリをマスターノードから Amazon S3 にコピーします。 |
各ステップの詳細については、以降のセクションで説明します。
クラスターのマスターノードに接続するには
-
「Amazon EMR 管理ガイド」の「SSH を使用してマスターノードに接続する」にある手順を実行してください。
ソースファイルをマスターノードにコピーするには
-
Amazon S3 バケットにソース ファイルを置きます。バケットを作成する方法とデータを Amazon S3 に移動する方法については、「Amazon Simple Storage Service ユーザーガイド」を参照してください。
-
以下のようなコマンドを入力して、ソースファイルを入れるフォルダーを Hadoop クラスター上に作成します:
mkdir
SourceFiles
-
次のようなコマンドを入力して、ソースファイルを Amazon S3 からマスターノードにコピーします。
hadoop fs -get
s3://amzn-s3-demo-bucket/SourceFiles
SourceFiles
バイナリを構築し、必要に応じて最適化する
バイナリを構築する方法はさまざまな要因によって決まります。ご利用の構築ツールの手順に従って、環境をセットアップして設定してください。Hadoop システム仕様コマンドを使用すると、構築環境をインストールする方法を判断する際に必要なクラスター情報を入手できます。
システム仕様を確認するには
-
バイナリを構築する際に使用するアーキテクチャを確認するには、以下のコマンドを使用します。
-
Debian のバージョンを確認するには、以下のコマンドを入力します:
master$ cat /etc/issue
出力は次の例のようになります。
Debian GNU/Linux 5.0
-
パブリック DNS 名とプロセッサーのサイズを確認するには、以下のコマンドを入力します。
master$ uname -a
出力は次の例のようになります。
Linux domU-12-31-39-17-29-39.compute-1.internal 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:34:28 EST 2008 x86_64 GNU/Linux
-
プロセッサー速度を確認するには、以下のコマンドを入力します:
master$ cat /proc/cpuinfo
出力は次の例のようになります。
processor : 0 vendor_id : GenuineIntel model name : Intel(R) Xeon(R) CPU E5430 @ 2.66GHz flags : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr cda lahf_lm ...
-
バイナリを構築したら、ファイルを Amazon S3 にコピーできます。
バイナリをマスターノードから Amazon S3 にコピーするには
-
次のコマンドを入力して、バイナリを Amazon S3 バケットにコピーします。
hadoop fs -put BinaryFiles
s3://amzn-s3-demo-bucket/BinaryDestination