記事ディレクトリ
1.Hadoopの概要
1.1Hadoop の概要
- Hadoop は、Apache [?pætʃi] Software Foundation に基づくオープンソースの分散コンピューティング プラットフォームであり、
ユーザーに次の機能を提供します。システムの基礎となる詳細は透明ですの分散インフラストラクチャ。
- Hadoop は Java 言語に基づいて開発されており、優れたクロスプラットフォーム機能を備えており、安価なコンピューター クラスターに導入できます。
- Hadoop は、C、C++、Java、Python などの複数のプログラミング言語をサポートできます。
- Hadoop = HDFS (ストレージ) + MapReduce (計算)
1.2 Hadoop開発の簡単な歴史
- 創設者ダグ・カッティング
- Nutch は、オープンソースの Java 実装検索エンジンです。独自の検索エンジンを実行するために必要なすべてのツールを提供します。全文検索と Web クローリングが含まれます。
- 2003 年、Google は分散ファイル システム GFS (Google File System) をリリースしました。
- 2004 年には、Nutch プロジェクトも GFS を模倣し、HDFS の前身である独自の分散ファイル システム NDFS (Nutch Distributed File System) を開発しました。
- 2004 年、Google は分散並列プログラミング フレームワークである MapReduce をリリースしました。
- 2006 年 2 月までに、Nutch の NDFS と MapReduce は独立し始め
、Hadoop と呼ばれる Lucene プロジェクトのサブプロジェクトになりました。 - 2008 年 1 月、Hadoop は正式に Apache のトップレベル プロジェクトになりました。
- Hadoop の名声の歴史: 2008 年 4 月、Hadoop は世界記録を破り、1 TB のデータをソートする最速の
システムになりました。操作の実行には 910 ノードのクラスターが使用され、ソート時間は
わずか 209 秒でした。 - 2009 年 5 月には、Hadoop は 1TB データのソート時間を 62 秒に短縮しました。それ以来、 Hadoop は
有名になり、ビッグ データ時代で最も影響力のあるオープン ソースの分散開発プラットフォームに急速に発展し
、ビッグ データ処理の事実上の標準になりました。
1.3 Hadoopの特徴
Hadoop は、大量のデータを信頼性が高く、効率的かつスケーラブルな方法で分散処理できるソフトウェア フレームワークであり、次のような特徴があります。
- 高信頼性:
複数のマシンがクラスタを形成し、一部のマシンに障害が発生しても、残りのマシンが外部にサービスを提供し続けることができます。 - 効率:
何百、何千ものマシンが一緒に計算します。 - 高い拡張性:
クラスターにマシンを継続的に追加できます。 - 高い耐障害性
データが単一ノードに送信されると、そのデータはクラスター内の他のノードにもレプリケートされます。つまり、障害が発生した場合でも、別のコピーが利用可能になります。 - 低コスト
Hadoop は、通常の安価なマシンを使用してサーバー クラスターを構成し、データを分散および処理するため、コストが非常に低くなります。 - Linuxプラットフォーム上で動作
- 複数のプログラミング言語をサポート
1.4 Hadoopの現在の適用状況
- Hadoop はその優れた利点によりさまざまな分野で広く使用されており、インターネット分野が主な応用分野となっています。
- 世界的に有名なソーシャル ネットワーキング サイトである Facebook は、主にログ処理、推奨システム、データ ウェアハウスに Hadoop プラットフォームを使用しています。
- Hadoop を主に使用している国内企業には、Baidu、Taobao、NetEase、Huawei、China Mobile などが含まれます。その中でも、Taobao の Hadoop クラスターは比較的大規模です。
- Hadoop関連アプリケーションは3種類の上位層アプリケーションをサポート
- さまざまな Hadoop コンポーネントがさまざまなエンタープライズ分析を可能にします
- 最も低いレベルの HDFS は、企業における大量のデータ ストレージのニーズを満たします。
- 保管後の分析:
- オフライン分析ではMR(MapReduce)などのデータのバッチ処理が可能で、データウェアハウス製品のHiveやPigも利用可能です。
- リアルタイムクエリ用のHbaseデータベース
- Mahout を使用したデータマイニング
1.5 Apache Hadoop バージョンの進化
- Apache Hadoop のバージョンは 2 世代に分かれており、第 1 世代の Hadoop を Hadoop 1.0、第 2 世代の Hadoop を Hadoop 2.0 と呼びます。
- Hadoop の第 1 世代には 0.20.x、0.21.x、0.22.x の 3 つのメジャー バージョンがあり、このうち 0.20.x は最終的に 1.0.x に進化して安定版になり、0.21.x と 0.22.x は新しいバージョンになりました。 NameNode HA などの主要な機能が追加されました。
- 第 2 世代の Hadoop には 0.23.x と 2.x の 2 つのバージョンがあり、Hadoop 1.0 とはまったく異なり、まったく新しいアーキテクチャです。
- Hadoop 1.0 2 コア
- これには、2 つの作業部分 = データ処理 + クラスター リソース管理 (クラスター CPU、メモリ割り当て) が含まれます。
- Hadoop 1.0 から Hadoop 2.0 への変更点
- YARN は、ストリーム コンピューティングのリソース スケジューリングも担当します。
- バッチ コンピューティングは YARN 上に構築されており、YARN はリソースのスケジューリングを実行します。
1.6 Hadoopの各種バージョン(エンタープライズ開発製品)
2.Hadoopプロジェクトの構造