Amazon EMR を使用してバイナリを構築する - Amazon EMR

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 にコピーします。

各ステップの詳細については、以降のセクションで説明します。

クラスターのマスターノードに接続するには
ソースファイルをマスターノードにコピーするには
  1. Amazon S3 バケットにソース ファイルを置きます。バケットを作成する方法とデータを Amazon S3 に移動する方法については、「Amazon Simple Storage Service ユーザーガイド」を参照してください。

  2. 以下のようなコマンドを入力して、ソースファイルを入れるフォルダーを Hadoop クラスター上に作成します:

    mkdir SourceFiles
  3. 次のようなコマンドを入力して、ソースファイルを Amazon S3 からマスターノードにコピーします。

    hadoop fs -get s3://amzn-s3-demo-bucket/SourceFiles SourceFiles
バイナリを構築し、必要に応じて最適化する

バイナリを構築する方法はさまざまな要因によって決まります。ご利用の構築ツールの手順に従って、環境をセットアップして設定してください。Hadoop システム仕様コマンドを使用すると、構築環境をインストールする方法を判断する際に必要なクラスター情報を入手できます。

システム仕様を確認するには
  • バイナリを構築する際に使用するアーキテクチャを確認するには、以下のコマンドを使用します。

    1. Debian のバージョンを確認するには、以下のコマンドを入力します:

      master$ cat /etc/issue

      出力は次の例のようになります。

      Debian GNU/Linux 5.0
    2. パブリック 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
    3. プロセッサー速度を確認するには、以下のコマンドを入力します:

      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