ドコモが取り組む,大規模データ解析から新たなサービスを開発,実行する「社会の頭脳システム」において,最初の大規模データ処理基盤である,1,000台超のサーバからなるHadoopクラスタの構築と運用について述べる.本クラスタは,サーバとネットワークの冗長化により高可用性を実現した.また,コモディティなハードウェアとオープンソースソフトウェアを活用した保守運用により,低コストでの構築と少人数での運用を可能にした.本論文では,ドコモにおけるHadoopクラスタの構築,4年間にわたる運用,新規クラスタへの移行におけるノウハウとそこから得られた知見について述べる.

1.はじめに

 ドコモでは,大規模データを処理し,その結果をもとに新たなサービスを開発,実行するためのプラットフォームの研究開発を行っている.これを「社会の頭脳システム」[1]と呼び,2008年頃から検討を始めた.社会の頭脳システムは,大規模データの処理を行うための基盤とサービスを実行制御するための基盤とから構成される.社会の頭脳システムで実現した新サービスの1つが,携帯電話サービスで用いる運用データを使って,時々刻々と変化する人口の推移を推計する「モバイル空間統計」[2]である.モバイル空間統計は,広域なエリアの人口を,時間単位で継続的に推計する.それによって社会の発展・高度化に寄与することを目的としている.

 社会の頭脳システムの大規模データの処理を行う基盤の構築にあたり,扱うデータ量がペタバイト級になると想定した[3].当時,ペタバイト級の大規模データを処理する基盤技術として注目されていたのがHadoop[4]である.Hadoopは,コモディティなハードウェアで構築可能な大規模データ処理基盤のためのオープンソースソフトウェア(以下,OSS)で,Yahoo! をはじめ,Amazon,Facebook,LinkedIn等でも採用されていた[5].Hadoopは,複数のコモディティなサーバにより構成されたスケールアウトが容易なクラスタの上に,Hadoop分散ファイルシステム(以下,HDFS)による大規模データの蓄積機能と,MapReduce (以下,MR)による大規模データ処理機能を実装している.Hadoopクラスタは,ネームノード(以下,NN)とジョブトラッカ(以下,JT)とスレーブノード(以下,SN)と呼ばれるサーバから構成される.Hadoopクラスタは,SNを追加することにより簡単にHDFSの容量を増やすことができ,SNが多少故障しても,データロスを防ぎ,データ処理の継続が可能なため,保守運用のコストを少なくすることが可能である.我々は,Hadoopの有用性・将来性に期待し,社会の頭脳システムの大規模データ処理基盤としてHadoopを活用することにした.

 本論文では,ドコモで初めて本格的に構築した大規模Hadoopクラスタにおける課題と解決方法について述べる.さらに,後継クラスタを構築したことによる,クラスタ間での移行に関する経験についても述べる.

この先は会員の登録が必要です。有料会員(月額プラン)は初月無料!

日経 xTECHには有料記事(有料会員向けまたは定期購読者向け)、無料記事(登録会員向け)、フリー記事(誰でも閲覧可能)があります。有料記事でも、登録会員向け配信期間は登録会員への登録が必要な場合があります。有料会員と登録会員に関するFAQはこちら