PR

4.2 課題点と工夫点

 第4章冒頭で示した楽天の環境において,GEAPを構築するに当たり,様々な課題が発生した.4.2節ではこれらの課題点とその工夫点について,言及を行う.

4.2.1 データ収集の信頼性に関する課題と工夫

 本プラットフォームを構築するに当たりまず考慮した点は,収集対象である多数のホストから,いかにしてリアルタイムに,効率的に,そして確実にデータを収集できるシステムを構築するのかという点である.この点を考慮し,我々はログ収集システムにおいて,End-to-End (E2E)モードを持つApache Flume[8]を採用した.

 Apache FlumeのE2Eモードとは,データ到達性を保証するためのメカニズムであり,図5に示す通り,以下のような動作を行う.

図5●Apache FlumeのE2Eモード
図5●Apache FlumeのE2Eモード
[画像のクリックで拡大表示]

  • (1) Flumeエージェントは,先行書込みログ (WAL)を書き出し,チェックサムを付与したうえで,データを次のノードに送る.
  • (2) いくつかのノードを中継し,最終的なFlumeコレクタに到達した際,Flumeコレクタは,チェックサムを検証し,HDFS等のストレージ環境にデータを蓄積する.この際,Flumeコレクタは,ACKを生成し,全てのFlumeノードを管理するFlume マスタに生成したACKを送信する.
  • (3) Flume エージェントは,定期的にFlumeマスタと交信を行い,当該エージェントに関するACKを取得する.
  • (4) Flumeエージェントが指定時間以内にACKを取得できない場合,当該エージェントは,データが目的地まで到達しなかったとみなし,データを再送信する.