0

EMR で実行する Hadoop ジョブがいくつかあります。これらのジョブのいくつかは、ログ ファイルを処理する必要があります。ログ ファイルは、それぞれ .gz 形式で最大 3 GB と巨大です。ログは S3 に保存されます。

現在、処理には m1.xlarge を使用していますが、S3 から HDFS にログ ファイルをコピーするだけで約 3 時間かかります。ここで、ボトルネックは S3 からの読み取りですか、それとも HDFS への書き込みですか?

私が計画していたのは、m1.xlarge ではなく、新しい SSD ベースの hi1.4xlarge を使用することです。これは、I/O が高速であるためです。しかし、それはコスト削減に役立ちますか?

しかし、hi1.4xlarge のコストは m1.xlarge よりもはるかに高くなります。

m1.xlarge - 8 EC2 コンピューティング ユニット @ 各 0.614$ = 4.912 $ /時間 h1.4xlarge - 35 EC2 コンピューティング ユニット @ 各 3.1$ = 108.5 $ / 時間

価格上昇は約 23 倍です。そんなにパフォーマンスが向上するでしょうか?私の Hadoop ジョブは I/O バウンドが高いと考えてください。

hi1.4xlarge インスタンスを起動して自分でテストすることはできないので、StackOverflow で質問してください。両方のインスタンス タイプを比較するベンチマークはありますか? Google は役に立ちませんでした。

よろしく。

4

1 に答える 1

1
  1. SSDインスタンスの値はランダムIOが高いため、SSDインスタンスは適切ではないと思いますが、HadoopではシーケンシャルIOが必要です。
  2. s3からHDFSへのコピー中、s3はほぼ確実にボトルネックになります。
  3. お金を節約するために、IOとCPUのバランスをとるために小さなインスタンスを試すことをお勧めします
  4. DISTCPを使用してs3からHDFSにデータをコピーしていますか(確認するためだけに...)
  5. クラスターの有効期間ごとに1回ログを処理する場合、s3から直接処理して、HDFSへのコピーを回避できます。
于 2012-10-11T12:01:16.517 に答える