Amazon Elastic MapReduce(EMR)の選択肢を考える:きょうから試せる Hadoop“スモールスタート”ガイド(5)(1/6 ページ)
実際にHadoopで処理を実装していきながら「Hadoopは、誰にだって扱える」を体感しましょう。今回は「Amazon Elastic MapReduce(EMR)の選択肢と活用方法」を解説します。
書籍の中から有用な技術情報をピックアップして紹介する本シリーズ。今回は、秀和システム発行の書籍『Hadoopファーストガイド(2012年9月20日発行)』からの抜粋です。
ご注意:本稿は、著者及び出版社の許可を得て、そのまま転載したものです。このため用字用語の統一ルールなどは@ITのそれとは一致しません。あらかじめご了承ください。
Amazon Elastic MapReduce(EMR)という選択肢
クックパッドでEMRを導入した理由
筆者の所属※するクックパッドでも、以前は少人数でCDH(Cloudera's Distribution including Apache Hadoop:Cloudera社が提供しているHadoopディストリビューション)を利用していたのですが、しばらく使っているといくつか問題が出てきました。
- 1:Hadoopクラスタの起動が不安定
- 2:バグに当たってしまった※13
※ 編注:本書執筆当時
※13 [#HADOOP-6254] s3n fails with SocketTimeoutException - ASF JIRA
1:Hadoopクラスタの起動が不安定
上記は2010年当時の話なので今は事情が変わっているとは思いますが、当時はHadoopクラスタを起動させようとしても、ときどき起動処理が終わらなかったり、起動に失敗したりすることがあり非常に困っていました。まとめて30台とか50台でHadoopクラスタを起動すると失敗してしまう確率が高かったので、最初は10台程度でHadoopクラスタを起動し、その後10台ずつそのクラスタにノードを追加していくようなバッドノウハウでこの問題を回避するようにしていました。
2:バグに当たってしまった
こちらはもっと深刻でした。当時からログの置き場としてAWSのS3を利用していて、HadoopからはS3に対してデータの読み書きをしていたのですが、Mapperの処理のCPU負荷が高い場合にHadoop側でS3とのコネクションが終了したと判定してしまうバグがありました(Hadoop-6254)。そのため、S3とのコネクションが意図せず切られてしまい、次にアクセスしたときにはS3とのコネクションが存在せずSocketTimeoutExceptionが発生してしまう状態で、読み込みも書き出しもできず致命的でした。
どちらも問題ではありましたが、特にバグの方は許容できるものではなく致命的だったため、何とかしてこの問題を解決する必要がありました。なお、当時はCDH1(Cloudera's Distribution including Apache Hadoopのバージョン1)を利用していたのですが※14、CDH2も公開されていて、CDH2ではこの問題に対する修正は行われていました。
※14 執筆時点での最新はCDH4です(編注:2017年2月現在の最新版はCDH5.9.1です)
また、当時公開されたばかりで日本ではまだあまり利用されていなかったと思うのですが、AWSが提供していたEMR(Amazon Elastic MapReduce)でもこの問題は修正済みのようでした。
そのため、このバグを解決するための選択肢はCDH2かEMRかのどちらかでした※15。そこで、CDH2にバージョンを上げる方が良いか、EMRを採用する方が良いか、いくつかの観点で比較してみました。
※15 もちろん、素のHadoopを使って自分でパッチを当てる、なども考えられますが、前述したような理由から選択肢には入りませんでした
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- もし、あなたが「“ビッグデータプロジェクト”を任せる。何とかするように」と言われたら
「ビッグデータプロジェクトを始めることになった」ら、具体的に何をするのか。本連載は、「ビッグデータプロジェクトの“進め方”」を業務視点/ビジネス視点の両面から体系的に理解し、具体的に実践していく方のためのナレッジアーカイブです。第1回目は、「ビッグデータとは何か」の基礎と、「ビッグデータ基盤の概要とメリット」を解説します。 - Hadoopは「難しい・遅い・使えない」? 越えられない壁がある理由と打開策を整理する
ブームだったHadoop。でも実際にはアーリーアダプター以外には、扱いにくくて普及が進まないのが現状だ。その課題に幾つかの解決策が出てきた。転換期を迎えるHadoopをめぐる状況を整理しよう。 - いまさら聞けないHadoopとテキストマイニング入門
Hadoopとは何かを解説し、実際にHadoopを使って大規模データを対象にしたテキストマイニングを行います。テキストマイニングを行うサンプルプログラムの作成を通じて、Hadoopの使い方や、どのように活用できるのかを解説します - 欧米の金融業界は今、どうHadoopを活用しているか
Hadoopは、欧米の金融関連サービス業界でどう活用されているか。米Hortonworksの金融サービス業界担当ゼネラルマネージャーへのインタビューで得た情報を、2回に分けてお届けする。今回は金融業界におけるHadoopのユースケースを概観する。