現在Apache Hadoop(以降Hadoop)はデータ処理基盤としての地位を確立し、さまざまな業種で広く利用されるようになりました。前回の記事、「目指せ!Hadoopエンジニア」で紹介したように、Hadoopを利用するソフトウェアの開発を行うエンジニア、システム管理者の需要はますます増え、データを活用するためのデータサイエンティストのニーズも高くなっています。また、Hadoopもこの1年で目覚ましい進化を遂げており、新しい機能を使いこなすことで効率の良い開発や運用管理ができるようになるでしょう。本記事では、今回はHadoopの最新動向を紹介し、次回以降でCloudera Managerを使用したHadoopの運用管理について紹介します。
Hadoopの最新状況
2006年、Hadoopはウェブのインデックス処理を行うために開発されました。その後さまざまな用途に利用されるようになり、それに伴いパフォーマンスの改善、セキュリティの強化、Hadoopを効率よく利用するためのエコシステムも多く誕生しました。今回は、そのうちのいくつかについて紹介します。
1) マスターノード単一障害点の解消
2) Impala - Hadoopの高速クエリエンジン
3) Hadoop運用管理ツール、Cloudera Manager
単一障害点(SPOF)の解消
Hadoopには単一障害点があるから怖くて使えない、という印象をお持ちの方はいらっしゃるのではないでしょうか?以前のバージョンのHadoopにはそのような問題がありました。(前回のコラムを参照)。単一障害点を解消するためにLinuxのクラスタソフトウェア(PacemakerやRed Hat Cluster SuiteなどのクラスタソフトウェアとDRBDなど)を使い冗長構成にして運用することも可能でしたが、運用管理が複雑になることと、大規模環境ではフェイルオーバにかかる時間がかなり必要となることから決定的なソリューションではありませんでした。現在では、Apache Hadoop自身が単一障害点を解消する仕組みを持っており、問題点は概ね解決されています(*1)。
Hadoopは基本的にマスター/スレーブ方式のソフトウェアであり、Hadoopクラスタは1つのマスターノード、複数のスレーブノードから構成されます。
従来のHDFS(Hadoop Distibuted FileSystem)においては、マスターノードであるネームノードに障害が発生すると、ネームノードが復旧するまでダウンタイムが生じました(図1)。

また、設定情報のメタデータを失ってしまうというような思わぬ障害に繋がる可能性があります。現在のHDFSでは、ネームノードをアクティブ/スタンバイの冗長構成にすることが可能となっており、ネームノードの障害発生時にアクティブ/スタンバイを自動/手動で切り替えることができます(図2)

ClouderaのHadoopディストリビューションCDH(Cloudera’s Distribution including Apache Hadoop)の最新版では、MapReduceに対する単一障害点の解消も行われています(*2)。従来マスターノードであるジョブトラッカーに障害が発生した場合、ジョブトラッカーの復旧後にジョブを再投入する必要がありました。 CDH4.2以降ではジョブトラッカーを冗長構成にすることが可能となっており、アクティブなジョブトラッカーに障害が発生した場合にはスタンバイ側のノードが引き継いで処理を行うことが可能です(*3)。
このように、Hadoopもエンタープライズ用途で活用するために必要な機能が標準で搭載されるようになってきています。
(*1)MapReduce2(YARN)を使用した場合の単一障害点の問題はまだ解決されていません。https://issues.apache.org/jira/browse/YARN-149
(*2)現時点ではアップストリームには取り込まれていません
(*3)現在の実装では、ジョブレベルの再実行をサポートしています。ジョブトラッカー障害時に実行していたジョブは、フェイルオーバ後に最初から再実行されることになります。実行中のジョブをそのまま引き継ぐ、タスクレベルリカバリはまだ実装されておりません。
http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDH4/latest/CDH4-High-Availability-Guide/cdh4hag_topic_3_1.html
この記事は参考になりましたか?
- めざせ!Hadoopエンジニア連載記事一覧
- この記事の著者
-
川崎 達夫(カワサキ タツオ)
Cloudera株式会社
エデュケーションサービス
マネージャー兼シニアインストラクター2011年よりClouderaに勤務し、日本でのHadoop研修ビジネスの立ち上げに従事。従来よりOSSに強い関心を持っており、前職のRed Hat社ではカーネルインターナルやデバイスドライバ、パ...※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア