0
Hadoop 基礎編

Hideaki Honda
Hadoop(ハドゥープ)とは

一言でいえば、
大規模データを処理するための

並列分散処理ソフトウェア基盤である。
並列分散処理とは、1つの処理を
複数のサーバで同時並列に処理させること。
また、誤解されやすいが、
リレーショナルデータベー...
概要

・オープンソースソフトウェアである
・ Apache Software Foundationが開発・公開している
・Javaを使って開発されている
・登場した背景にGoogleが深く関わっている
・ペタバイトクラスの大規模データを処理す...
登場した背景 (1)

Googleが、Webサイトの検索エンジンの開発に着手。
が、大規模なデータ故に、従来のファイルシステムや
データベースでは実現が難しい。

そこでGoogleは、実現出来るためのソフトウェアを
内部で開発し、それを利用...
登場した背景 (2)

この論文に着想を得て、ASFがHadoopプロジェクト
をスタートさせ、オープンソースとして実装された。
・ブログ、SNS、Twitterなど個人が情報を
発信出来る時代になり、大規模データを
扱う必要性が生まれてきてい...
HadoopプロジェクトとGoogle

Googleの技術とHadoopプロジェクトの関係
処理

Google

Hadoop

分散フゔ゗ルシステム

GFS
(Google File System)

HDFS
(Hadoop Dist...
環境まわり

・特殊なサーバやストレージは必要ない。
・複数のOSで動作可能だが、Linuxが一般的。
・バージョン1.6以上のJava実行環境が必要。

Hadoop自体はあくまで基盤なので、処理の実装は
開発者が行う。Javaでの実装は当然...
提供の形式

Hadoopには
・コミュニテゖ版

・デゖストリビューション版
の2つが存在する。
主なディストリビューション
ベンダー

製品名

Cloudera

CDH

Microsoft

Windows Azure HDInsig...
Hadoopの構成要素(1)

Hadoopの構成要素でキモとなるのが以下の2つ。
これらが連携することで高スループットなデータ処理を実現。
1.HDFS

[Hadoopとその関連図]

2.MapReduce

 Page 9

画像の引...
Hadoopの構成要素(2)

1.HDFS(Hadoop Distributed File System)
分散ファイルシステム
大容量のデータを複数のサーバに格納する仕組み。
複数のサーバを組み合わせて、ひとつの大きな
フゔ゗ルシステムを提...
性能まわり(1)

Hadoopでは、サーバをスケールゕウトすることで
性能ゕップを図る。これに対してRDBでは、
サーバ間で更新データの整合性を保つのが難しくなるため、
スケールゕップで対応するのが一般的である。
クラスタを構成するサーバ台数...
性能まわり(2)

大規模データを処理する場合で解決すべき問題は多い。
その1つに、デゖスクI/Oのスループットがある。
CPU性能の進化、搭載メモリの大容量化に比べて
デゖスクI/Oのスループットは、それほど向上していない。
Hadoopでは...
Upcoming SlideShare
Loading in...5
×

Hadoop 基礎

727

Published on

Hadoop

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
727
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
20
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Hadoop 基礎"

  1. 1. Hadoop 基礎編 Hideaki Honda
  2. 2. Hadoop(ハドゥープ)とは 一言でいえば、 大規模データを処理するための 並列分散処理ソフトウェア基盤である。 並列分散処理とは、1つの処理を 複数のサーバで同時並列に処理させること。 また、誤解されやすいが、 リレーショナルデータベースや ファイルシステム、検索エンジン等ではない。  Page 2
  3. 3. 概要 ・オープンソースソフトウェアである ・ Apache Software Foundationが開発・公開している ・Javaを使って開発されている ・登場した背景にGoogleが深く関わっている ・ペタバイトクラスの大規模データを処理するのが得意である ・特殊なサーバやストレージは必要ない  Page 3
  4. 4. 登場した背景 (1) Googleが、Webサイトの検索エンジンの開発に着手。 が、大規模なデータ故に、従来のファイルシステムや データベースでは実現が難しい。 そこでGoogleは、実現出来るためのソフトウェアを 内部で開発し、それを利用した。 その技術の一部を論文として公表する。 2003年「The Google File System」 http://static.googleusercontent.com/media/research.google.com/ja//archive/ _ gfs-sosp2003.pdf 2004年「 MapReduce: Simplified Data Processing on Large Clusters 」 http://static.googleusercontent.com/media/research.google.com/ja//archive/ _ mapreduce-osdi04.pdf  Page 4
  5. 5. 登場した背景 (2) この論文に着想を得て、ASFがHadoopプロジェクト をスタートさせ、オープンソースとして実装された。 ・ブログ、SNS、Twitterなど個人が情報を 発信出来る時代になり、大規模データを 扱う必要性が生まれてきている ・元々大規模データがあり活用したかったが 既存のテクノロジーでは手段が無かったり、 制約(HW、SW面で)や金額の面で難しい これらの問題点を解決できるソフトウェアとして 非常に注目度が高い。  Page 5
  6. 6. HadoopプロジェクトとGoogle Googleの技術とHadoopプロジェクトの関係 処理 Google Hadoop 分散フゔ゗ルシステム GFS (Google File System) HDFS (Hadoop Distributed File System) 分散処理フレームワーク MapReduce Hadoop MapReduce KV型データストゕ BigTable HBase 成り立ちからも分かる通り、 Hadoopプロジェクトは、Googleの影響を強く受けている。  Page 6
  7. 7. 環境まわり ・特殊なサーバやストレージは必要ない。 ・複数のOSで動作可能だが、Linuxが一般的。 ・バージョン1.6以上のJava実行環境が必要。 Hadoop自体はあくまで基盤なので、処理の実装は 開発者が行う。Javaでの実装は当然できるが、 「Hadoop Streaming」という仕組みを使えば、 任意のプログラミング言語でも実装が可能である。  Page 7
  8. 8. 提供の形式 Hadoopには ・コミュニテゖ版 ・デゖストリビューション版 の2つが存在する。 主なディストリビューション ベンダー 製品名 Cloudera CDH Microsoft Windows Azure HDInsight MapR MapR 他には゗ンテルなども。  Page 8
  9. 9. Hadoopの構成要素(1) Hadoopの構成要素でキモとなるのが以下の2つ。 これらが連携することで高スループットなデータ処理を実現。 1.HDFS [Hadoopとその関連図] 2.MapReduce  Page 9 画像の引用元:並列分散処理の常識をHadoopフゔミリから学ぶ http://www.atmarkit.co.jp/ait/articles/1202/08/news138.html
  10. 10. Hadoopの構成要素(2) 1.HDFS(Hadoop Distributed File System) 分散ファイルシステム 大容量のデータを複数のサーバに格納する仕組み。 複数のサーバを組み合わせて、ひとつの大きな フゔ゗ルシステムを提供する。 2.MapReduce 並列分散処理を実現するフレームワーク ひとつの大きな処理(ジョブ)を複数の単位(タスク)に 分割して並列実行する仕組み。  Page 10
  11. 11. 性能まわり(1) Hadoopでは、サーバをスケールゕウトすることで 性能ゕップを図る。これに対してRDBでは、 サーバ間で更新データの整合性を保つのが難しくなるため、 スケールゕップで対応するのが一般的である。 クラスタを構成するサーバ台数を追加することで、 データ容量を拡張したり、分散処理の性能を向上させる。 逆に言うと、2、3台ほどのクラスタでは性能は引き出せない。 ちなみに、米Yahoo!では4000台ほどのクラスタを組んでいる。  Page 11
  12. 12. 性能まわり(2) 大規模データを処理する場合で解決すべき問題は多い。 その1つに、デゖスクI/Oのスループットがある。 CPU性能の進化、搭載メモリの大容量化に比べて デゖスクI/Oのスループットは、それほど向上していない。 Hadoopでは、複数のサーバを組み合わせて全体(クラスタ) として機能を提供するため、デゖスクI/Oが ボトルネックになりにくいと言われている。  Page 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×