2014年07月17日 08時00分 UPDATE
特集/連載

バグや失敗をどう解決した?失敗から成功まで、HDFSでRAIDを利用するFacebookの挑戦

FacebookはHadoop分散ファイルシステムにRAIDを展開して、容量削減を実現した。だが、当初は期待通りに削減できず、データの破損に悩まされた。彼らはいかにして課題を解決したのだろうか。

[Archana Venkatraman,Computer Weekly]

関連キーワード

Facebook | RAID | クラスタ | Hadoop


Computer Weekly

 米Facebookは2013年、大規模なHadoop分散ファイルシステム(HDFS)にRAIDを展開して、空き容量を数十Pバイト増やすと同時にデータの複製(レプリケーション)処理を減らした。しかしこのプロジェクトを進める間に、同社のエンジニアリングチームはデータの破損や大規模なディレクトリシステム全体にわたるRAIDの実装に苦戦するなど、数多くの課題に直面した。

Computer Weekly日本語版 7月16日号無料ダウンロード

14783.gif

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 7月16日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。


 同社が今回実装したテクノロジーの例として、HDFS内のErasure Codingが挙げられる。これによってHDFSでデータの複製が発生する要因を減らしている。

 RAID(Redundant Array of Independent Disks)は、同一のデータを複数のHDDに保存する(すなわち冗長性を持たせる)手法である。HDFSは、Hadoopが使用するプライマリストレージシステムだ。HDFSはHadoopクラスタ全体にわたって、データへのアクセスについて高いパフォーマンスを実現する。また、ビッグデータの管理とビッグデータのアナリティクスをサポートしているという点で、HDFSは重要なツールとして大規模組織からの注目を集めている。

 HDFSで複製できるファイルは、デフォルトでは3つまでとなっている。Facebookのエンジニアリングチームによると、この制約のためにメディア容量の大きなオーバーヘッドが発生することがあったという。そこで同社はHDFSのRAIDテクノロジーを活用し、データの複製の実行回数を減らすとともに、使用する領域のオーバーヘッドを減らすことにも成功した。

 「2013年、当社のデータウェアハウスのHDFSクラスタに全面的にRAIDを展開した。クラスタでデータの複製が発生する要因を減らすことで、2013年末までに数十Pバイトのメディア容量を節減できた」と、Facebookのエンジニアリングチームは同社の公式ブログに投稿している。

 ただし、数百Pバイトの大規模なHDFSクラスタにRAIDを展開する過程で、Facebookは幾つもの課題に直面した。「そこでわれわれが学んだ教訓を共有したいと思った」と、同社エンジニアリングチームはブログに記している。

メディア容量を節約する工夫

 FacebookがRAIDを本番環境に展開した当初、節減できたメディアの容量は予測よりもずっと少なかった。「調査の結果、RAIDに深刻な問題があることが分かった。われわれは『微小ファイル問題』の洗礼を受けた」とエンジニアはブログに記している。

 エンジニアリングチームは、ファイルサイズが論理ブロック10個程度の場合に、容量の節減効果が最も大きくなることを発見した。それよりもファイルが小さくなると、容量削減の効果は落ちる。2ブロック以下のファイルでは、RAIDの容量削減効果は全くなくなる。

 同チームの分析では、本番環境のクラスタに保存されているファイルのうち50%以上が、その小さすぎる(2ブロック以下の)ファイルだった。

 この問題の解決策として、ITチームは複数ブロックをまとめてグループ化した。「微小ファイル問題への対策として、ある単純な観察結果から発想を得て、ディレクトリRAIDを開発した。その観察結果とは、(Hadoop MapReduceのツールである)Hiveを使用していると、リーフディレクトリ下のファイルは、作成後ほとんど変更されないということだ。だとすると、リーフディレクトリ全体を1つのファイルとして扱えばファイルのサイズが(見かけ上は)大きくなる。そのファイルをRAIDに展開すればいいと考えた」(エンジニアリングチームのブログ投稿記事より)

データ破損の防止策

 HDFSでRAIDを利用する際のもう1つの課題として、RAIDの再構築ロジックにバグがあるために、データが壊れるというものがあった。

この記事を読んだ人にお薦めのホワイトペーパー

この記事を読んだ人にお薦めの関連記事

Loading

注目テーマ

ITmedia マーケティング新着記事

news148.jpg

Supership、独自データと位置情報を掛け合わせたオーディエンス広告配信を提供開始
Supershipは2016年9月29日、位置情報に基づいた効果的な広告配信を実現する「Supership G...

news139.jpg

「F.O.X」で計測したデータを「TREASURE DMP」内で分析可能に
CyberZとトレジャーデータは連携し、スマートフォン広告向けソリューションツール「Force...

news133.jpg

シャノンとソフトブレーンが連携、マーケティングデータを活用した営業支援を強化
ソフトブレーンとシャノンは業務提携し、マーケティングデータを有効に活用し、戦略的な...