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 アップロードファイルのアップロード制限の解決策

推薦する

JavaScriptの擬似配列と配列の使い方と違い

擬似配列と配列JavaScript では、5 つのプリミティブ データ型を除き、関数を含め、その他す...

JSはショッピングカート内の商品の合計金額の計算を実現します

JSはショッピングカート内の商品の合計金額を計算して参考とします。具体的な内容は以下のとおりです。質...

JSはreduce()メソッドを使用してツリー構造データを処理します

目次意味文法例1. 初期値initが渡されない2. 初期値を渡す場合3. アレイの重複排除4. Re...

Nginx SSL証明書設定エラーの解決策

1. はじめにWeb プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必...

JavaScript マクロタスクとマイクロタスク

マクロタスクとマイクロタスクJavaScript はシングルスレッド言語です (マルチスレッドの場合...

MySQL は、あるテーブルのデータに基づいて別のテーブルの特定のフィールドを更新します (SQL ステートメント)

次のコードは、MySQL が 1 つのテーブルのデータに基づいて別のテーブルのいくつかのフィールドを...

jsオブジェクト指向カプセル化カスケードドロップダウンメニューリストの実装手順

この例で開発されたカスケード ドロップダウン メニューは、既存の JSON データに基づいて作成され...

HTML で中国語を UTF-8 に変換する方法

HTMLでは、中国語のフレーズ「學好好學」は「學好好學」と表現できます。プロジェクトでは、SMSアラ...

メタ宣言注釈の手順

メタ宣言注釈の手順: 1. モバイル ページと 1 対 1 で対応するすべての PC ページを分類し...

CSS フォントの新しい使い方: カラーフォントの実装

デザイナーが特別なイベントのタイトルフォントとして以下のフォントを使用したい場合はどうすればよいでし...

2021年の花火効果をJSで描画(ソースコードダウンロード付き)

この作品はフロントエンド開発(JSコンテンツ)の知識を使用していますが、フロント部分の後半部分の知識...

mysql における mydumper と mysqldump の比較

いくつかのテーブルまたは単一のデータベースのみをバックアップする場合は、innobackup よりも...

Ubuntu 18.04 でソースコードから Odoo14 をインストールするチュートリアル

目次このシリーズの背景概要PostgreSQL データベースの準備ソースからインストール仮想環境の作...

HTML ページの先頭に戻るいくつかの実装の概要

最近、ウェブサイトを開発する際にトップに戻るボタンを作成する必要がありますが、私は主にバックエンドの...

vitrualBox+ubuntu16.04 python3.6 最新チュートリアルと詳細な手順のインストール

最近ディープラーニングを学ぶためにUbuntu+Python 3.6バージョンを使う必要があるため、...