BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Amazon EMRのベストプラクティス

Amazon EMRのベストプラクティス

原文(投稿日:2013/08/16)へのリンク

Amazon Elastic MapReduce (Amazon EMR)を使えば、Apache Hadoopやビッグデータ関連のアプリケーションをAWS上で簡単に動作させられ、Hadoopやクラスタを管理の複雑さとコストを取り除いてくれる。投資なしで、ハードウエアの購入もなしで、最新のハイパフォーマンスなコンピューティング環境を数分で構築して性能が最適化されたHadoopクラスタを利用することができるのだ。

あたらに発表されたBest Practices for Amazon EMRというホワイトペーパーでは、AWSへデータを移行し、データを集め、圧縮し、集約する方法や、Amazon EMRの一般的なアーキテクチャパターンを説明している。コスト最適化やAmazon EC2のさまざまな購入オプションを活用する方法も紹介している。

まず、最初に説明するのは、ローカルストレージの大量のデータをAmazon Simple Storage Service (Amazon S3)へ移行したり、Amazon S3からAmazon EMRやHadoop Distributed File System (HDFS)へ移行するための方法だ。このようなデータ移行をする場合、(同書によれば)帯域幅を戦略的に利用することが重要だ。日に数テラバイトをアップロードするための最適化手法も多く紹介されている。

  同書で紹介されているデータアップロードのツールは

  • ·         DistCp (distributed copy) - 大規模にクラスタ間でデータをコピーするときに使えるツール。Amazon EMRを分散、エラーハンドリング、リカバリ、レポーティングに利用する。ファイルのリストやディレクトリをマップタスクの入力に変換し、各マップタスクはファイルの一部をコピーする。
  • ·         S3DistCp - AWS、特にAmazon S3向けに最適化したDistCpの拡張。EMRのジョブフローのステップとしてS3DistCpを加えることで、Amazon S3からHDFSへ効率的にデータを転送できる。
  • ·         Jets3t Java Library - Amazon S3を扱うアプリケーションを開発するのに使えるオープンソースのJavaツールキット。Amazon S3を扱うことができる低いレベルのAPIとツールを提供する。
  • ·         Aspera Direct-to-S3 - UDPベースの高速ファイル転送を実現するプロプライエタリ なファイル転送プロトコルを提供する。ローカルのデータセンターからAmazon S3へデータを転送するのに効果を発揮する。

ひとつの場所からもうひとつの場所へデータを移動するにはデータのアップロードは適した方法だが、複数の場所のデータを集めるには、難しいデータ収集の実装が必要だ。同書では次のような方法を紹介されている。

  • ·         Apache Flume - データを効率的に集め、集約し移行するサービス。分散化されており、信頼性が高く、ロバストで、耐障害性と可用性がある。シンプルで柔軟なアーキテクチャで、調整可能な信頼性の仕組みとフェールオーバー、リカバリの仕組みを持っている。
  • ·         Fluentd - イベントとログを収集するオープンソースツール。収集されたデータは検索、分析用に保存され、S3とHadoop (HDFS)Hadoop (HDFS)にアーカイブされる。

データを収集すると次の重要な作業はデータを集約することだ。同書ではデータ集約のベストプラクティスについて詳しく説明している。集約したデータの大きさ、データのパーティショニング、データの圧縮などについてだ。

このホワイトペーパーの大部分はAWS EMRを使ったデータ処理について書かれている。同書の推奨事項は下記の通りだ。

  • Amazon EMRをプロビジョニングする場合は適切なインスタンスサイズを選ぶ
  • クラスタは適切な量のインスタンスで構成する
  • ひとつのクラスタで使うマッパとリデューサの量を見積もる
  • 揮発的なEMRクラスタか永続的なEMRクラスタ
  • 適切なEC2インスタンスを使ってEMRクラスタのコストを最適化する
  • EMRクラスタの性能を最適化する

また、このホワイトペーパーではEMRのパターンを多く取り上げ、次のようなアドバイスをしている。

  • HDFSのかわりにS3
  • S3とHDFSを一緒に使う
  • Elastic EMRクラスタを使う

このホワイトペーパーはAWS Elastic Map-Reduceの利用を真剣に検討しているすべての人にとって貴重なガイドだ。

 

この記事に星をつける

おすすめ度
スタイル

BT