Hadoopとは
Hadoopとは、大容量のデータを高速に処理するミドルウェアである。Apache Software Foundation(ASF) が開発したため、Apache Hadoopとも呼ばれることもある。オープンソースソフトウェアとして公開されている。
複数の小さいサーバを組み合わせて、ひとつの大きいシステムとして使用することができる。大容量のデータをリアルタイムで処理、分析し、ビジネスシーンなどで有効に利用することができる。
Hadoopは複数のサーバを組み合わせてひとつのクラスタを構成する。使用するサーバの数は自由に選択することができるため、利用者の欲しい規模のシステムを構築できる。また、運用中にサーバを追加することができ、システム拡張も容易に行うことができる。
Hadoopの構成要素
Hadoopは、下記のコンポーネントで構成されている。
- Hadoop Distributed File System (HDFS)
大量のデータを分散して配置するための分散ファイルシステム
- Hadoop Yet Another Resource Negotiator (YARN)
ジョブスケジューリングとクラスタリソース管理を行うためのフレームワーク
- Hadoop MapReduce
大量のデータを並列処理するためのフレームワーク
HDFS
HDFSは、Hadoop独自の分散ファイルシステムである。ファイルを一定サイズに分割して、複数のサーバに分散して配置することでデータ処理のスループット向上を行っている。分割したデータの複製をいくつかのサーバに重複して配置することでデータの冗長化を実現している。これにより、1台のサーバに障害が発生しても、データが失われることはない。また、Hadoopを停止することなくサーバを追加することもできるため、システム拡張性にも優れている。
YARN
YARNは、リソース管理とジョブスケジューリングを分割するためのHadoopのコンポーネントである。Hadoopシステム内で動作するすべてのアプリケーション間でのリソースの仲介を行う。
MapReduce
MapReduceは、大きいクラスタ環境において、大量データの並列処理を行うためのフレームワークである。MapReduceは、map処理とreduce処理を組み合わせて構成されている。map処理はデータを細かく分けて処理し、データに対して意味づけを行い、結果をreduce処理に渡す。reduce処理は、map処理から渡ってきたデータを処理し、集約を行う。
Hadoopの用途
近年、ビッグデータを扱うことが増えており、大容量のデータを解析するためには、高性能で高価なコンピュータを準備する必要があった。Hadoopを使うと、一般的なコンピュータを複数台組み合わせることで、大容量データの高速な解析が可能となる。高性能で高価なコンピュータを使用しなくても大容量データ解析が行えるようになり、導入しやすくなっている。
Hadoopは、Elasticsearchのようなビッグデータを扱うアプリケーションのバックエンドとしても使われる。
デージーネットの取り組み
スマートフォン上で動作するアプリケーションのログを集計・解析してデータを導き出すシステム等、大容量データを扱うシステムでHadoopの利用を提案している。
【カテゴリ】:ビッグデータ  システム管理  IoT  
【Webセミナー】自社でOSSを採用しよう!今更聞けないOSSの基本セミナー
日程: | 11月22日(金)Webセミナー「BigBlueButton」を使用します。 |
内容: | OSSを導入したいけど、どこから手をつければいいかわからない方必見! |
ご興味のあるかたはぜひご参加ください。 |