Shoeisha Technology Media

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

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

テーマ別に探す

目指せHadoopエンジニア-管理者・DBエンジニア編-

edited by DB Online   2012/07/25 00:00

前編の「開発者編」では、Apache Hadoop(以降Hadoop)の歴史と概要に加え、開発者に必要な知識を客観的に証明できる認定資格、CCDH(Cloudera Certified Developer for Apache Hadoop)を紹介しました。後編では、Hadoopの管理者に求められる知識に加え、Hadoopの管理者向け認定資格、また最近のHadoop関連の話題とカラム指向分散データベースであるApache HBaseの紹介、およびHBaseの認定資格を紹介します。

Hadoopの管理者に求められるもの

 前編で紹介したように、Hadoopでは一台から数千台規模のクラスタを構築することが可能であり、必要に応じてスケールアウトさせることができます。Hadoopは非常に強力ですが、管理するのはそれほど簡単ではありません。言い換えると、正しい知識を持たずに運用すると、大きなトラブルが生じる可能性があると言うことです。

 少し脚色していますが実際のトラブルの例をご紹介しましょう。

 【トラブルの例】

 前編で紹介したHadoopの分散ファイルシステムであるHDFS(Hadoop Distributed File System)には、分散したデータの配置情報(データがどのマシンに記録されているのかを表す管理情報:以降メタ情報と呼びます)などを管理するノード(ネームノード)と、実際に分散されたデータを管理するノード(データノード)群とがあります。前者のメタ情報は非常に重要で、この情報が消えてしまうと、分散しているデータの置き場所がわからなくなってしまいます。つまり、バラバラになったデータを組み立てられなくなってしまうのです。

 このメタ情報はサーバーの起動時に読み込むためディスクにも記録されるのですが、あるトラブルではマシンのディスク障害によりメタ情報が失われてしまったというものでした。定期的にバックアップをするという運用方法もあるのですが、バックアップ間の更新分が全て失われてしまうリスクが生じます。また、バックアップのタイミングによってはファイルの整合性の問題が生じる場合があるのです(中途半端にファイルが破損してしまうなど)。

 これは正しく管理すれば防げる問題です。メタ情報の保存先は複数指定ができるので、管理者が正しく複数のディスクやNFS上のディレクトリを指定することで回避できるのです。

 MapReduceにおいても、単一の目的での利用や一人のユーザーが利用しているような場合には問題がなくても、ビジネスが拡大して複数のユーザーまたは複数のジョブを実行するようになると、ジョブの実行順序の制御が必要になります。共用環境においてはセキュリティの問題も生じてくるでしょう。Hadoopに限った話ではありませんが、運用管理は重要なのです。

 コラム:HDFSの信頼性はどうなの?

 

 Hadoopに詳しい方は「Hadoopはネームノードが単一障害点だから使えない」とおっしゃるかもしれません。それは確かにある条件では正しいのですが、ClouderaのCDH4のような最近のバージョンのHadoopではネームノードが高可用性に対応しているので、単一障害点を回避できます。

 

 また、後ほど紹介するHadoop Summit 2012というイベントでは、HDFS High Availabirity というセッションで高可用性の話がありました。一部抜粋して紹介します。

 

 米Yahoo!では2009年に、2万ノード/10クラスタのHDFS環境において、3.29億ブロックに対して19ブロックのデータロストが発生しました。これは1700万ブロックに対して1ブロック相当となり、1ブロックが128MBと仮定すると、2ペタバイトに対して128MBのデータロストにしかなりません。こういったバグは既に修正されていますし、HDFSではデフォルトでブロックを3カ所に複製して管理しているので、同時にブロックが失われる確率はゼロに近いといえます。HDFSの信頼性は十分高いと言っても過言ではないでしょう。

 

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


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


著者プロフィール

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

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

バックナンバー

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