NetApp Tech OnTap NetApp Logo NetApp Logo
NetApp Tech OnTap
     
「NetAppビッグデータソリューション
NetApp Open Solution for Hadoopの全貌」
シェアする NetAppオフィシャルFacebook

NetApp Open Solution for Hadoop でエンタープライズへ

前回で従来の Hadoop クラスタが持つ課題として、下記のようなものがありました。

SPOF の存在
ディスク障害・データノード障害時のパフォーマンス劣化
運用・拡張性・柔軟性の課題

今回はいよいよこれらに対して、我々 NetApp のソリューションをご提案します。連載初回に提起した 「NetApp が何故 Hadoop なのか?」の1つの答えがここにあります。

さっそくソリューションの中身を見ながら疑問に答えていきましょう。まず、全体像はこのような形になっています。

Cloudera

全体をながめると、Hadoop 、サーバ(ノード)群、ストレージが組み合わさっている構成になっています。Hadoop をご存知な方からすると、おや?と思うのがやはりストレージがつながっていることでしょう。いかにもビッグデータにあやかってストレージベンダーが考えそうな形、とおもわれがちですが、しかしこれにはきちんと理由があります。それぞれ見ていきましょう。

SPOF 解消に高信頼性の FAS シリーズを適用

前回お話した通り、Hadoop には SPOF が内在しており、それを回避する事はエンタープライズシステムには必須です。SPOF の部位は NameNode と呼ばれるデータ格納の司令塔となるノードです。分散ファイルシステムである HDFS の要であり、ここを冗長化する事が重要となるでしょう。冗長化にはいろいろやり方があります。もう一つ同じノードを用意しておき、有事の際は速やかに切り替えるというやり方が一般的です。ダウンタイムを極力減らすためにはこれを自動で行える方がよいですが、多少運用が複雑になったりコストがかかったりします。Hadoop の NameNode の可用性確保にも同様なアプローチをとることができます。ここでは、Secondary NameNode を用意しておく方法をとっています。Secondary NameNode は定期的に(プライマリ) NameNode のメタデータのバックアップをしています。NameNode 障害時には Secondary NameNode を昇格させて、 NameNode を復旧させます。更に後半でお話する Cloudera's Distribution including Apache Hadoop(CDH) の最新版 CDH4 では"スタンバイ NameNode" を構成し、手動の他、障害発生時の自動の切り替えにも対応できます。いずれの場合も、NameNodeで重要なメタデータを守るためにメタデータの複製場所として NFS サーバ上のディレクトリを指定します。メタデータの複製先は複数指定できるのですが、少なくとも1つは外部に確保することが推奨となっておりますし、システム全体の可用性の観点からもそうすべきです。ここがキモです。 NFS サーバであれば通常なんでもよいと思われがちですが、NFS サーバ自身も SPOF とってしまうためここもきっちり守らなければなりません。そこでこの NFS サーバに FAS シリーズを採用しています。 FAS シリーズは NetApp が誇る高信頼性ストレージであり、特に NFS 接続で多くの実績を積み重ねてきています。これでシステム全体として SPOF を解消することができました。(図1)

図1:CDH4 による NameNode の HA 化

  図1:CDH4 による NameNode の HA 化

大容量、高密度ストレージに E-Series を適用

ここで、Hadoop をご存知な方からすると、面食らっているかもしれません。「なぜ DataNode にストレージがつながっているんだ?」と。従来の Hadoop は複数のコンピュータにそれぞれ内蔵されている HDD を束ねて大きなストレージ( HDFS による分散ファイルシステム)を作る構成をとるからです。このような形にしている理由はちゃんとあります。以下からお話していきます。

容量の効率化とパフォーマンス向上

DataNode に接続するストレージには E-Series を採用しています。NetApp はいままで FAS シリーズ一本でストレージ・システムを提供していましたが、今回特にビッグデータの領域に最適なストレージとして E-Series をラインナップに加えています。大容量・超高密度・高パフォーマンスを特徴するストレージ・システムです。

各 DataNode は、6Gb / 秒の eSAS ポートで E-Series E2660 に直接接続されます。各 DataNode がそれぞれのロジカルユニット( LU )に排他的にアクセスするこの構成は、Hadoop の「シェアードナッシング」アーキテクチャに従っています。DataNode は1つの E-Series に 4 つまで接続する事が可能です。この構成を1つの単位(ビルディングブロックと呼ぶ)とします。当然、ストレージ下のレイヤは RAID により HDD が保護されています。

図2: HDFS ビルディングブロック

  図2: HDFS ビルディングブロック

ここで思い出して欲しいのは Hadoop の HDFS 自身もソフトウェアレベルでの冗長性を持っていた点です。Hadoop ではデフォルトでデータを3重持ちしています。ということは、実際に保存できる容量としては全体の 3 分の1です。データの保護レベルをあげると容量が犠牲になるトレードオフな関係であるのは仕方のないことですが、HDD を保護する一般的な RAID5,6 といった技術と比べるとかなり容量効率に影響を与えています。しかも HDFS のレプリカ機構には内容やチェックサムを検査する仕組みがありません。完全性はサイズや世代の違いで判定するため、それだけではお客様の中では不安が残る方も多くいらっしゃるのではないでしょうか。不整合なデータにより結果が不正となり、意思決定に利用された場合も間違った判断となりかねないからです。

そこで本ソリューションでは、データ保護が得意な E-Series 側に複製機能をオフロードし、実際に保存できる容量を増やすとともに、そのリスクを軽減させているわけです。RAID だけでなく、E-Series には不整合なデータが残らないようにする技術も備わっているため安心できます。また、ストレージレイヤでデータを保護しているため、HDFS のレプリカ数をデフォルトの 3 から2へ減らしています。HDFS に分散ブロックが複製される際の余計なネットワークのトラフィックも軽減でき、全体的なパフォーマンス向上にもつながっています。(図3)

図3:レプリカ数 2 と 3 の対比

  図3:レプリカ数 2 と 3 の対比
(X=ノード数、Y=スループット)

Hadoop のワークロードは E-Series の得意分野

E-Series は少いスペースで大容量を搭載できる超高密度なストレージです。Hadoop はコモディティサーバを多数並べることでスケールアウトできる分散処理基盤を提供します。ここで、ハードウェアそのもののコストよりも、格納するデータセンタのスペースや消費電力等に対するランニングコストが課題となってきます。E-Series (E2660)は 4U で最大 180TB もの容量を搭載できます。データセンタの省スペース化、省電力化にも最適です。 パフォーマンスにおいても特に、シーケンシャルアクセスに強みがあり、最大で 6000MB/s(Sustained)read スループットを実現します。なお、参考までにビルディングブロック当たりの HDFS のスループットは下記のようになります。

書き込み(取り込み)MB / 秒 読み取りMB / 秒
944 2,092
*HDFS のレプリカ数 2、RAID5 で設定

Hadoop はシーケンシャルなアクセスを主とするため、E-Series を適用することで最大限に特徴を活かすことができます。

CPU リソースとストレージリソースを柔軟にスケール

HDD を内蔵でなく E-Series に格納させたことで、CPU リソースとストレージリソースの柔軟な運用が可能となっています。Hadoop の構築の見積りをする際、HDD 、つまり容量ベースで計算する事が実際多くなります。それはどのような処理をするかによって必要なスペックは変わってくるため、はじめからどのくらいの CPU リソースが必要かを見積もるのが難しいからです。本ソリューションを使うことで、必要な容量から E-Series の数量を決め、CPU リソース(コア数)は最小限でスタートさせ、処理量が増えたら増設するといったスモールスタートが可能です。

ここまで、信頼性の確保、E-Series を使う主にハードウェア的なポイントについてお話してきました。本ソリューションにはソフトウェアとしても重要なエンタープライズ要素があります。次に Hadoop のエンタープライズ向けディストリビューションである 「Cloudera's Distribution including Apache Hadoop(CDH) 」についてご紹介します。

Hadoop ディストリビューションに CDH を採用

CDH はエンタープライズ向けに開発された 100% オープンソースの Hadoop ディストリビューションです。CDH はコアコンポーネントの HDFS や MapReduce の他、RDBMS と連携する Sqoop や列指向分散データストアの HBase、高速ログ収集ツールの Flume 、高級言語とライブラリであり、Hive、Pig、Mahout など様々なコンポーネントを用意しています。全コンポーネントの品質を高めるため、多くのテストを実施したり、バグや性能改善に対して大量のパッチがあてられています。コードはすべてアップストリームファーストです。またパッケージで管理できるためインストールやアップデートが容易に可能です。このように OSS を使うお客様の課題解決やニーズを満たすように製品が開発されています。

図4: CDH の主要コンポーネント

  図4: CDH の主要コンポーネント

特筆すべきは Cloudera Manager の存在です。CDH を1つのシステムとして扱い、あらゆる構築・運用のシナリオを統一されたインタフェースから行うための運用管理ツールです。分散システムの熟知やコンポーネントの相互依存性など、CDH の運用構築に必須の知識をもっていない管理者でも容易に Hadoop を管理することができます。Hadoop はノードを追加していき処理能力を上げていきます。よってノードの追加・削除は障害時のメンテナンス以外でも発生するため、速やかに行えることがエンタープライズの要件となります。Cloudera Manager を使うと、新規に追加・削除する作業が楽になります。もちろん、初期構築をする時も複数のノードを一元管理できるため、個々に設定しなければならない手間を大きく省くことができます。Hadoop の運用で重要なリソース監視、使用量のレポートなども備わっています。Cloudera Manager は Free Edition と Enterprise Edition があり、Free Edition であれば無償でダウンロードし利用可能です。Enterprise Edition は CDH のサポート(サブスクリプション)をご購入の方は利用可能で、より商用向けの機能もご利用いただけます。以下にとても興味深いデモ動画がありますので記載します。

「ClouderaManager によるCDHのインストール5分で HADOOP クラスタを構築する」
http://www.cloudera.co.jp/blog/cloudera-manager-cdh-install-demo.html

その他、CDH やCloudera Manager については Cloudera 社のページや slideshare http://www.slideshare.net/ でも Cloudera のエンジニア嶋内さんによるコンテンツがあがっていますのでご参考いただければとおもいます。

いかがでしょうか。「NetApp Open Solution Hadoop」 についてお分かりいただけたでしょうか。随所にエンタープライズ向けのしかけが入っていたかと思います。次回はこのソリューションが生まれたきっかけである、自社の事例についてお話いたします。

<参考>

Cloudera's Distribution including Apache Hadoop(CDH)
http://www.cloudera.co.jp/products-services/productservices_cdh.html

「 CDH はなぜエンタープライズに適しているのか」
http://www.slideshare.net/Cloudera_jp/cloudera-manager4namenodeha

倉持健史(くらもちたけし)

倉持健史(くらもちたけし)
パートナーSE 部 システムズエンジニア
NetApp




東京電機大学情報科学科卒、UNIX 系 SIer、Linux HA クラスタソフトウェアメーカを経て 2011 年 9 月パートナー SE として入社
プリセールス SE としてパートナー支援を中心に活動、 本年度からは BigData ソリューションも担当
1978 年 8 月 22 日 東京生まれ
基本はインドアだが登山も好き、TEKKEN はポールでゴリ押し
関連情報
関連情報
第一回:NetApp ビッグデータソリューション
第二回: NetApp ビッグデータソリューション
第三回: NetApp ビッグデータソリューション
関連情報
 
Go further, faster TRUSTe
お問い合わせ   |   購入方法   |   フィードバック   |   採用情報  |   登録   |   プライバシーポリシー   |   © 2012 NetApp