HDFSおよびMapReduce

Apache Hadoop 2では、そのコアとして3つの主要なコンポーネントが存在します。Hadoop分散ファイルシステム (HDFS Hadoop Distributed File System)、YARN (Yet Another Resource Negotiator)、そして、並列処理フレームワークである MapReduce です。これらのオープンソースプロジェクトは、Google社内で開発されたテクノロジーに触発される形で、Cloudera のチーフアーキテクトであるDoug Cuttingが、Apache Hadoopエコシステムの基盤を構築したものです。

CDH_Download

Hadoop分散ファイルシステム (HDFS)

HDFSは、フォールトトレラントかつセルフヒーリング(自己修復可能)な分散ファイルシステムであり、業界標準のサーバー群を、大規模に拡張できるストレージプールとして扱えるようにするものです。HDFSは、拡張性や柔軟性、スループットが重要視される大規模データ処理に向いています。また、あらゆるフォーマットのデータを、スキーマにかかわらず受け取ることが可能です。特に、高帯域ストリーミング向けに最適化されおり、100PB(ペタバイト)以上の対応が可能です。

HDFSの主な特長:

• スケールアウトなアーキテクチャー – サーバーを追加することでキャパシティを向上
• 高可用性 – ミッションクリティカルなワークフローやアプリケーションに対応
• フォールトトレラント – 自動障害回復機能
• 柔軟なアクセス – シリアライズやファイルシステムのマウントのための複数オープンフレームワーク
• ロードバランシング – インテリジェントなデータ配置により使用効率を最大化
• チューニング可能なレプリケーション – ファイル毎に複数のコピーを持つことでデータの保護とパフォーマンスの向上を実現
• セキュリティ – ユーザーやグループに対するPOSIX準拠のファイルアクセス許可設定、LDAPとの連携も可能。

HDFS_1

パフォーマンスの向上とデータ保護のため、HDFSのデータは複数のノードに複製されます。

HDFSアーキテクチャーの詳細はこちらをご覧下さい

MapReduce

MapReduceは、HDFSと連携する大規模スケーラブルな並列処理フレームワークです。MapReduceとHadoopにより、処理する場所にデータを移動させることなく、置かれている場所で処理を行うことができます。このため、データストレージと処理機能が、クラスタ内の同じ物理ノードに置かれることになります。データと処理を近接させるMapReduceによって、ネットワーク帯域幅など、従来発生するボトルネックによる影響を受けることなく膨大なデータを処理できるようになります。

MapReduceの主な特長:

• スケールアウトなアーキテクチャー – サーバーを追加することでキャパシティを向上
• セキュリティと認証 – HDFSおよびHBaseのセキュリティ機能により、許可されたユーザーのみにシステムデータの操作を許可
• リソースマネージャー – 最適な処理を行うためのデータ配置やサーバーのリソース管理
• スケジューリングの最適化 – ジョブの優先順位付け実行
• 柔軟性 –事実上どんなプログラミング言語でも計算処理の記述が可能
• 弾力性と高可用性 – 複数のジョブやタスクをトラッキングし、ジョブが他に依存せず停止したことを確認後、自動的に再起動

HDFS_2

MapReduceは、ワークロードを並行処理できる複数のタスクに分割します。

MapReduceフレームワークおよび YARN の詳細はこちらをご覧下さい。