Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

Hadoop運用管理の今

2013/06/26 00:00

現在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)。

図1 従来のHDFSの仕組み
図1 従来のHDFSの仕組み

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

図2 高可用性のHDFSの仕組み
図2 高可用性のHDFSの仕組み

 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

  

※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 川崎 達夫(カワサキ タツオ)

    Cloudera株式会社  エデュケーションサービス  マネージャー兼シニアインストラクター 2011年よりClouderaに勤務し、日本でのHadoop研修ビジネスの立ち上げに従事。従来よりOSSに強い関心を持っており、前職のRed Hat社ではカーネルインターナルやデバイスドライバ...

バックナンバー

連載:めざせ!Hadoopエンジニア
All contents copyright © 2007-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5