新米インフラエンジニアの研修日記

とある会社で研修させて頂いたことを書いてます。

Hadoopについて


Hadoopとは・・・

集中管理型の分散システム
並列分散処理を実現するミドルウェアです。

f:id:the-casket-of-star:20160414212930p:plain

2つのコンポーネントで構成されています。
但し、バージョンによって構成が異なります。

分散ファイルシステム
 HDFS(Hadoop FileSystem)
 HDFSは、データを貯める機能

②並列分散処理フレームワーク
 貯めたデータを処理する機能

■0.2 - 1.1系
 MapReduce
 大量の件数のデータがあった時に複数ワーカーで並列に処理できる仕組み

■2.x系
YARN
 (Yet-Another-Resource-Negotiator)
 分散処理のリソースを制御する仕組み

MapReduceからYARNになって・・・

Hadoop 1系(MapReduce)での仕組みでは3000~4000ノードがクラスタの限界でしたが、YARNの仕組みによって10000ノード程度のクラスタも構成することが可能になりました。

分散処理技術「Hadoop」とは:NTTデータのHadoopソリューション


MapReduceの仕組み


Aさん、Bさん、Cさんの数学、国語、英語の成績表があるとします。

f:id:the-casket-of-star:20160415001751p:plain

Mapが科目と成績をKeyとValueの関係でデータをまとめます。

Reduceが出現回数を数えたり、1は4つある等の集計を行います。

エコシステム


Hadoopエコシステムとして使う「エコシステム」は、
連携関係を通じて発展していく状況を指す言葉としての意味で、
中核となる技術を中心とした応用技術や関連プロダクト等の状況全体を指します。

books.google.co.jp

2.x系以降のHadoopの話ですが、
一番上にあるのがコンテナで、その中にMapReduceの処理をするHiveやデータ分析プログラムの作成を支援するPigといったコンポーネントをコンテナに用意し、自由にカスタマイズして処理することができます。

HDFSから最終的な処理結果のデータを貯めておくハード側との通信速度が大量のデータを捌くのに重要だそうです。
f:id:the-casket-of-star:20160415004648p:plain