Hadoop 2.x と 3.x の 22 ポイントの比較、Hadoop 3.x の 2.x に対する改善点

Hadoop 2.x と 3.x の 22 ポイントの比較、Hadoop 3.x の 2.x に対する改善点

質問ガイド
1. Hadoop 3.x はどのようにして障害を許容するのでしょうか?
2. Hadoop 3.x ではストレージのオーバーヘッドがどの程度削減されましたか?
3.Hadoop 3.x MR API は Hadoop 1.x と互換性がありますか?

1. 目的

この記事では、Hadoop 2.x と Hadoop 3.x の比較について説明します。 Hadoop 3 バージョンにはどのような新機能が追加されましたか? Hadoop 3 で互換性のある Hadoop 2 プログラムは何ですか? Hadoop 2 と Hadoop 3 の違いは何ですか?

2. Hadoop 2.x と Hadoop 3.x の比較

このセクションでは、Hadoop 2.x と Hadoop 3.x の 22 の違いについて説明します。 それではそれぞれについて議論しましょう

2.1ライセンス

Hadoop 2.x - Apache 2.0、オープンソース
Hadoop 3.x - Apache 2.0、オープンソース

2.2 サポートされている最小Javaバージョン

Hadoop 2.x - サポートされている Java の最小バージョンは Java 7 です
Hadoop 3.x - サポートされているJavaの最小バージョンはJava 8です

2.3 フォールトトレランス

Hadoop 2.x - レプリケーションによってフォールト トレランスを処理できます (スペースを無駄にします)。
Hadoop 3.x - イレイジャーコーディングを通じてフォールトトレランスを処理できます。

2.4 データバランス

Hadoop 2.x − データバランスには HDFS バランサーを使用します。
Hadoop 3.x − データ バランシングには、HDFS ディスク バランサー CLI を通じて呼び出されるデータ ノード内バランサーを使用します。

2.5 ストレージスキーム

Hadoop 2.x - 3Xレプリカスキームを使用する
Hadoop 3.x − HDFS での消去コーディングをサポートします。

2.6 ストレージオーバーヘッド

Hadoop 2.x - HDFS ではストレージ スペースに 200% のオーバーヘッドがあります。
Hadoop 3.x - ストレージのオーバーヘッドはわずか 50% です。

2.7 ストレージオーバーヘッドの例

Hadoop 2.x - ブロックが 6 個ある場合、レプリケーション スキームにより、スペースを占有するブロックは 18 個になります。
Hadoop 3.x - ブロックが 6 つある場合、スペースは 9 ブロックで、6 ブロックのスペースと 3 ブロックがパリティに使用されます。

2.8YARNタイムラインサービス

Hadoop 2.x - スケーラビリティの問題がある古いタイムライン サービスを使用します。
Hadoop 3.x - Timeline Service v2 が改善され、Timeline Service のスケーラビリティと信頼性が向上します。

2.9 デフォルトのポート範囲

Hadoop 2.x − Hadoop 2.0 では、一部のデフォルト ポートは Linux の一時ポート範囲内にあります。そのため、起動時にはバインドできません。
Hadoop 3.x − ただし、Hadoop 3.0 では、これらのポートは一時範囲から移動されました。

2.10 ツール

Hadoop 2.x − Hive、pig、Tez、Hama、Giraph、その他の Hadoop ツールを使用します。
Hadoop 3.x − Hive、pig、Tez、Hama、Giraph、その他の Hadoop ツールを使用できます。

2.11互換ファイルシステム

Hadoop 2.x − HDFS (デフォルト FS)、FTP ファイル システム: すべてのデータをリモート アクセス可能な FTP サーバーに保存します。 Amazon S3 (Simple Storage Service) ファイル システム、Windows Azure Storage Blob (WASB) ファイル システム。
Hadoop 3.x − 以前のすべてのバージョンと Microsoft Azure Data Lake ファイル システムをサポートします。

2.12データノードリソース

Hadoop 2.x − データノード リソースは MapReduce 専用ではないため、他のアプリケーションに使用できます。
Hadoop 3.x − ここでは、データ ノード リソースを他のアプリケーションにも使用できます。

2.13MR API 互換性

Hadoop 2.x - Hadoop 1.x プログラムと互換性があり、Hadoop 2.X で実行可能な MR API
Hadoop 3.x − ここで、MR APIはHadoop 3.X上で実行するためにHadoop 1.xプログラムと互換性を持たせています。

2.14 Microsoft Windows のサポート

Hadoop 2.x − Windows にデプロイできます。
Hadoop 3.x − Windows もサポートします。

2.15 スロット/コンテナ

Hadoop 2.x − Hadoop 1 はスロットの概念に基づいて動作していましたが、Hadoop 2.X はコンテナの概念に基づいて動作します。コンテナを通じて、共通のタスクを実行できます。
Hadoop 3.x − コンテナの概念でも動作します。

2.16 単一障害点

Hadoop 2.x − SPOF 機能を備えているため、Namenode に障害が発生しても自動的に回復します。
Hadoop 3.x − SPOF 機能を備えているため、Namenode に障害が発生しても自動的に回復し、それを克服するために人間の介入は必要ありません。

2.17 HDFSアライアンス

Hadoop 2.x − Hadoop 1.0 では、すべての名前空間を管理する NameNode は 1 つしかありませんでしたが、Hadoop 2.0 では、複数の名前空間に複数の NameNode が使用されます。
Hadoop 3.x − Hadoop 3.x にも複数の名前空間のための複数の名前空間があります。

2.18 スケーラビリティ

Hadoop 2.x - クラスターごとに最大 10,000 ノードまで拡張できます。
Hadoop 3.x - スケーラビリティが向上しました。 クラスターあたり 10,000 ノード以上に拡張できます。

2.19 データへの高速アクセス

Hadoop 2.x − データ ノード キャッシュにより、データにすばやくアクセスできます。
Hadoop 3.x - ここでも、Datanode キャッシュを通じてデータに素早くアクセスできます。

2.20HDFSスナップショット

Hadoop 2.x − Hadoop 2 ではスナップショットのサポートが追加されました。 災害復旧とユーザーエラーからの保護を提供します。
Hadoop 3.x - Hadoop 2 もスナップショット機能をサポートしています。

2.21 プラットフォーム

Hadoop 2.x - さまざまなデータ分析、イベント処理の実行、ストリーミング、リアルタイム操作のためのプラットフォームとして使用できます。
Hadoop 3.x - ここでも、イベント処理、ストリーミング、リアルタイム操作を YARN 上で実行できます。

2.22 クラスタリソース管理

Hadoop 2.x − クラスター リソース管理には YARN を使用します。 スケーラビリティ、高可用性、マルチテナント性が向上します。
Hadoop 3.x − クラスターの場合、リソース管理にはすべての機能を備えた YARN が使用されます。

hadoop2.x に対する hadoop3.X の改良点

共通の主要な改善点:
シェルスクリプトの書き換え
非推奨の API の削除

HDFS の改善:
消失訂正符号化をサポート
2つ以上のネームノードをサポート
データバランス
複数のサービスポートが変更されました

糸の改良:
YARN タイムライン サービス v.2
オポチュニスティックコンテナと分散スケジューリングのサポート

MapRduece の改善:
MapReduce タスクレベルのネイティブ最適化
デーモンとタスクヒープ管理の改良

その他の新機能:
共有クライアント jar

結論

Hadoop 2.x と Hadoop 3.x の 22 の重要な違いと 3.x の改善点について説明してきたので、Hadoop 2 と Hadoop 3 のどちらが優れているかがわかるようになりました。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • Hadoop ネームノード フェデレーション
  • Hadoop 2.Xの新機能、ごみ箱機能の説明
  • Hadoopカウンターとデータクリーニングの適用
  • Ubuntu 16.4 で完全に分散された Hadoop 環境を構築するための実践的なチュートリアル
  • Ubuntu DockerでHadoopクラスタ環境を構築する方法
  • CentOS で Hadoop を構築する詳細な手順
  • Hadoop ワードカウントのサンプルコード
  • Java/Web が MapReduce 用に Hadoop を呼び出すサンプル コード
  • Hadoop におけるネームノードとセカンダリネームノードの動作メカニズムの説明

<<:  LinuxにMySQLをインストールするための詳細なチュートリアル

>>:  Element-ui アップロードファイルのアップロード制限の解決策

推薦する

Vueのdiffアルゴリズムについての簡単な説明

目次概要バーチャルドム原理実装プロセスパッチ方式sameVnode関数patchVnode関数upd...

MySQL のダウンロードとインストールの詳細グラフィックチュートリアル

1. MySQLデータベースをダウンロードするには、公式Webサイトにアクセスしてください:http...

MySql データ型チュートリアル例の詳細な説明

目次1. 概要2. MySQLデータ型の詳細な説明1) 文字列型2) 整数型3) 浮動小数点型4) ...

ミニプログラムは左スライドのドロワーメニューをネイティブに実装します

目次WXS レスポンス イベントプランAページ構造とスタイルWXS イベントコールバック関数WXS ...

MySQL における IF()、IFNULL()、NULLIF()、および ISNULL() 関数の使用に関する詳細な説明

MySQL では、IF()、IFNULL()、NULLIF()、および ISNULL() 関数を使用...

航空機戦争ゲームを実装するためのJavaScript

この記事では、キャンバスとjsを使用して簡単な飛行機戦争を実装する方法を参考までに紹介します。具体的...

Linux MySQL ルートパスワードを忘れた場合の解決方法

MySQL データベースを使用する際、何らかの理由で長期間 MySQL にログインしていない場合、ま...

Linux 仮想メモリ設定のチュートリアルと実践

仮想メモリとは何ですか?まずはWikipediaからの紹介文をそのまま引用します。仮想メモリは、コン...

Reactは一般的なスケルトン画面コンポーネントの例を実装します

目次スケルトンスクリーンとは何ですか?デモデザインのアイデア具体的な実装スケルトンスクリーンとは何で...

MySQL の一般的なログの概要

序文: MySQL システムには、さまざまな種類のログが存在します。さまざまなログにはそれぞれ独自の...

Dockerfileを使用して独自のイメージを作成する方法

1. 空のディレクトリを作成する $ cd /home/xm6f/dev $ mkdir myapp...

MySQL 5.5 のインストールと設定のグラフィックチュートリアル

MySQL 5.5 のインストールと構成のチュートリアル ノートを整理し、全員と共有します。 1.公...

Windows での mysql-5.7.28 のダウンロード、インストール、および構成に関する詳細なグラフィックとテキストのチュートリアル

最近MySQLデータベースのバージョンを変更する必要があり、それを記録するために記事を書きます1. ...

Vueはルールを使用してフォームフィールドの検証を実装します

Vue でフォーム フィールドを記述および検証する方法は多数あります。このブログでは、より一般的に使...

パーソナライズされた検索エンジンを使用して、必要なパーソナライズされた情報を検索します

現在、多くの人がインターネット上で生活しており、インターネットで情報を検索することは日常的な作業とな...