峠ビッグデータ課題2:Hadoop環境とHDFSの構築

課外宿題2: Hadoop環境とHDFSのセットアップ

  • 仕事の詳細

コンテンツ

  • Alibaba Cloud-Yunqi Lab-「Hadoop 環境の構築」-Hadoop-2.10.1 擬似分散:

1. この実験での ECS のパブリック IP アドレスのスクリーンショットを撮り、下の図に示すように、色付きのボックス マークを追加します。 2. ステップ 6. Hadoop が正常に起動したら、スクリーンショットを撮り、色付きのボックス マークを追加します。以下の図に示すように。

3. hdfs ルート ディレクトリにフォルダーを作成します (フォルダーに名前を付けます: あなたの名前と学生番号の下 4 桁) 4. フォルダーの下にファイルを作成します (ファイル名: あなたの名前と学生番号の下 4 桁) 5. ECS のルート ディレクトリにある Hadoop インストール ファイルを、hdfs の自己作成フォルダーにアップロードします。 6. 操作が成功したら、次の図に示すように、スクリーンショットを撮り、色付きのボックス マークを追加します。 :

  • Huawei Cloud-Koolabs Cloud Experiment-Experiment "HDFS Writing File" ダウンロードした実験データ ファイル 000000_0 の名前を自分の名前に変更し、学生 ID の最後の 4 桁を完全に結合します。実験の最後に Python プログラムを実行した後、スクリーンショットを撮ります。ファイルの内容を表示するコマンドと結果を表示します
  • 実験「HDFS ファイルの読み取り」: 実験の最後のステップの txt ファイル check02 は、名前と学籍番号の下 4 桁に変更されます。Python プログラムを実行した後、実行結果のスクリーンショットを撮ります。
  • 「授業評価」の内容を簡単に回答します。
  1. Hadoop のインストールにはどのようなモードがありますか? この実験はどのモードで行われますか? 他のモードをインストールすることは可能ですか?

回答: Hadoop のインストールには、単一ノード モード、擬似分散モード、完全分散モード、高可用性モードの 4 つのモードがあります。

  1. JDKをインストールする理由 ダウンロード元はどこですか?どのバージョンですか? 他のバージョンは利用可能ですか? どこに設置されていますか?

回答: Hadoop をインストールする前に、まず JDK をインストールする必要があります。Hadoop は Java に基づいて開発されているため、JDK はコンパイル環境を提供し、Hadoop の動作は JDK 環境に依存します。

  1. Hadoopのダウンロード ソースはどこですか? どのバージョンですか? 他のバージョンは利用可能ですか? どこに設置されていますか?

回答: Hadoop のダウンロード ソースは Apache 公式 Web サイトです。最新バージョンは Hadoop 2.7 です。他のバージョンも入手可能ですが、最新バージョンを使用することをお勧めします。Hadoop は、ネットワークとユーザー環境が適切にインストールおよび構成されているマシン (物理マシンまたは仮想マシン) にインストールされます。

  1. JDK と Hadoop を Linux にインストールする場合と Windows にインストールする場合の違いは何ですか?

回答: Linux への JDK と Hadoop のインストールは、Windows へのインストールと似ていますが、Windows では GUI インターフェイスが使用され、Linux ではコマンド ライン インターフェイスが使用される点が異なります。

  1. JDKとHadoopの環境変数設定は何に使用されますか? どのファイルですか? 構成後にソースが必要なのはなぜですか?

回答: JDK と Hadoop の環境変数は .bashrc ファイルで設定する必要があります。JDK は JAVA_HOME で設定する必要があり、Hadoop は HADOOP_HOME、HADOOP_PREFIX などで設定する必要があります。これらの環境変数を設定すると、ユーザーは Hadoop を呼び出すことができます任意のディレクトリからコマンドを実行し、プログラムを実行します。ソースは、新しく設定された環境変数を有効にするために使用されます。新しいシェルが起動されます。新しいシェルでは、環境変数は新しい設定を使用します。

  1. Hadoop擬似分散用にどのファイルを構成する必要がありますか? 機能は何ですか?

回答: Hadoop 擬似ディストリビューションには、core-site.xml、hdfs-site.xml、mapred-site.xml の 3 つのファイルが必要です。core-site.xml は、主に、Hadoop 固有の構成など、Hadoop のグローバル プロパティを構成するために使用されます。hdfs-site.xml は、主に、HDFS ネームスペースやストレージ ブロック サイズなどの HDFS オプションを構成するために使用されます。mapred-site.xml主に、JobTracker のポート番号や MapReduce プログラムの関連パスなど、MapReduce を構成するためのオプションを構成するために使用されます。

  1. パスワード不要のログインとはどういう意味ですか? パスワードなしのログインを設定する理由は何ですか?

回答: パスワード不要のログインとは、ユーザー名とパスワードを入力せずにリモート Linux システムにログインできることを意味し、これにより SSH リモート ログインのセキュリティと利便性が向上します。パスワードなしのログインを構成するには、ssh-keygen をクライアントとサーバーにそれぞれインストールし、2 台のマシン上で公開キーと秘密キーを生成し、公開キーをコピーしてパスワードなしのログインを実現する必要があります。

  1. Hadoop を起動するとどのようなノードが表示されますか? 彼らは何をしますか?

回答: Hadoop を起動すると、NameNode ノード、DataNode ノード、SecondaryNameNode ノードが表示されます。NameNode は HDFS の管理ノードであり、ファイル システムのメタデータ情報を記録するために使用されます。DataNode ノードはデータを保存するノードであり、ユーザーによってアップロードされたデータを保存します。SecondaryNameNode ノードは補助ノードである NameNode のバックアップ作業を担当します。フォールト トレランスを向上させるために、NameNode サイトのメモリ内イメージ コピーを保存するために使用されます。

  1. Hadoopの 2 つの Web ページは何に使用されますか?

回答: Hadoop には、NameNode Web UI と JobTracker Web UI という 2 つの Web ページがあります。NameNode Web UI は、ファイル システムの表示、クラスター内のノードの表示、ファイル システムに保存されているデータの管理に使用され、JobTracker Web UI はタスクのステータスと情報を表示して実行の監視を容易にするために使用されます。タスクの。

  1. 実験的なデスクトップ ファイル システムと ECS ファイル システムの違いは何ですか? ブラウザはどのファイル システムにファイルをダウンロードしますか? 両者間でファイルを転送するにはどうすればよいですか?

回答: 実験用デスクトップ ファイル システムと ECS ファイル システムの違いは、実験用デスクトップ ファイル システムはローカル ハードディスクに保存されている実験用デスクトップ環境のローカル ファイル システムを指すのに対し、ECS ファイル システムはEMR インスタンス内のファイル システム。Hadoop 分散ファイル システム HDFS によって管理され、インスタンス上のハードディスクに保存されます。ブラウザのダウンロード ファイルは、実験用デスクトップ ファイル システムにダウンロードされます。ファイルは、FTP ファイル転送プロトコルまたは SCP セキュア ファイル転送プロトコルを介して 2 つ間で転送できます。

  1. HDFSファイル システムとローカル ファイル システムの違いは何ですか?

回答: HDFS ファイル システムとローカル ファイル システムの違いは、HDFS は大容量、高スループット、信頼性をサポートできる分散ファイル システムであるのに対し、ローカル ファイル システムはストレージ容量とスループットを備えたスタンドアロン ファイル システムに似ていることです。 HDFSよりも低いです。

  1. Hadoopコマンドと Linux コマンドの違いは何ですか?

回答: Linux コマンドと比較すると、Hadoop コマンドは拡張性が高く、より多くの操作を実行できますが、Linux コマンドはディレクトリの表示、ファイルの作成、いくつかの単純なコマンドの実行などの基本的な操作しか実行できません。

  1. HDFS上にファイルとフォルダーを作成するにはどうすればよいですか? 確認方法は?

回答: HDFS 上にファイルとフォルダーを作成するには、hadoop fs -mkdir コマンドを使用してフォルダーを作成し、hadoop fs -put コマンドを使用してファイルを HDFS にアップロードします。ファイルとフォルダーを表示するには、hadoop fs - ls コマンドを使用して、HDFS 上のファイルとフォルダーを表示します。

  1. HDFS からローカルにファイルをダウンロードするにはどうすればよいですか? 順番は何ですか?原理を簡単に説明しますか? Java の主要な入出力ストリームとメソッドは何ですか?

回答: HDFS からローカルにファイルをダウンロードするコマンドは hadoop fs -get です。原則として、Hadoop の Java API を呼び出してリモート ファイル システム内のファイルを取得します。重要な入出力ストリームとメソッドは、HDFS からファイルを InputStream に読み取り、ファイルをローカル OutputStream に書き込み、ファイルのダウンロードを実現することです。

  1. ローカル ファイルを HDFS にアップロードするにはどうすればよいですか? 順番は何ですか?原理を簡単に説明しますか? Java の主要な入出力ストリームと関数は何ですか?

回答: ローカル ファイルを HDFS にアップロードするコマンドは hadoop fs -put です。原則として、Hadoop の Java API を呼び出してファイルをリモート ファイル システムにアップロードします。重要な入出力ストリームとメソッドは、ローカルの InputStream からファイルを読み取り、そのファイルを HDFS の OutputStream に書き込み、ファイルのアップロードを実現することです。

  1. 「HDFS 書き込みファイル」という実験では、HDFS に書き込むために Python でどの関数が使用されますか? どこに書いてありましたか?

回答: 「HDFS へのファイルの書き込み」実験では、Python が HDFS に書き込むために使用する関数は hdfs3.HDFile で、これはファイルを HDFS に書き込みます。

  1. 「HDFS ファイルの読み取り」という実験で、Python が HDFS 入力ストリームを作成するために使用する関数は何ですか? HDFS 出力から読み取られたファイルの内容はどこにありますか?

回答: 「HDFS のファイルの読み取り」実験では、HDFS 入力ストリームを作成する Python の関数は hdfs3.HDFile であり、HDFS から読み取られたファイルのコンテンツは HDFile オブジェクトに出力されます。

  • エクササイズ
  1. Hadoop と Google の MapReduce、GFS、その他のテクノロジーとの関係について説明します。

回答: Hadoop は、Google の MapReduce および GFS (分散ファイル システム) テクノロジのオープン ソース実装であり、Google の分散ストレージおよびコンピューティング アーキテクチャを実装しています。

  1. Hadoopの特徴を説明します。

回答: Hadoop には、高い拡張性、高い耐障害性、効率的な容量管理という特徴があります。

  1. さまざまな分野での Hadoop の応用について話し合いましょう。

回答: Hadoop は現在、ビジネス、金融、医療、教育など多くの分野で広く使用されており、データ処理の時間とコストを大幅に削減し、人件費を節約し、企業のデータ処理レベルを向上させ、その価値を最大限に引き出すことができます。

  1. Hadoop エコシステムと各部分の具体的な機能について説明します。

回答: Hadoop エコシステムには、HDFS (分散ファイル システム)、MapReduce (分散コンピューティング フレームワーク)、YARN (クラスター リソース マネージャー)、Hive (データ ウェアハウス)、HBase (NoSQL 分散データベース)、ZooKeeper (調整サービス) などが含まれます。機能には、信頼性の高いストレージ システムの提供、コンピューティング フレームワークの実装、クラスター リソースの管理、データ ウェアハウスの提供、NoSQL 分散データベースの提供、クラスター内のノード間の通信の調整があります。

  1. Hadoop を構成する場合、Java パス JAVAHOME はどの構成ファイルに設定されますか?

回答: Java のパス JAVAHOME は、hadoop-env.sh 設定ファイルに設定されています。

  1. すべての HDFS パスは fs.default.name を通じて設定されますが、どの構成ファイルに設定されますか?

回答: すべての HDFS パスは、fs.default.name まで core-site.xml で設定されます。

  1. スタンドアロン モードと擬似分散モードの類似点と相違点をリストしてみます。

回答: スタンドアロン モードと擬似分散モードの類似点と相違点: どちらも Hadoop コンピューティング モデルであり、Hadoop が提供する MapReduce コンピューティング フレームワークを使用でき、どちらも Hadoop が提供する分散ストレージ システム HDFS を使用できます。大量のデータを保存する; 違い: スタンドアロン モードでは 1 台のマシンのみが必要ですが、擬似分散モードでは少なくとも 2 台のマシンが必要であり、データとタスクが正常に送信できるように 2 台のマシン間に十分なネットワーク接続が必要です。 ; スタンドアロン モードでは、1 つの HDFS クラスターと 1 つの MapReduce クラスターを維持し、擬似分散モードでは、1 つの HDFS クラスターと複数の MapReduce クラスターを維持します。スタンドアロン モードでは、単一マシン上の MapReduce ジョブのみがサポートされます。擬似分散モードは、複数のマシンでのデータの分散をサポートします。MapReduce ジョブ。単一マシン モードはデータの処理に 1 台のマシンのリソースのみを使用できますが、擬似分散モードは複数のマシンのリソースを使用してデータを処理できます。 、それによってより良いパフォーマンスを達成します。

  1. 擬似分散運用開始後のHadoopのプロセスは何ですか?

回答: 擬似分散運用開始後に Hadoop が持つプロセスは、NameNode プロセス、SecondaryNameNode プロセス、DataNode プロセス、ResourceManager プロセス、NodeManager プロセス、JobHistoryServer プロセスです。

  1. クラスター実験の条件が整っている場合は、Hadoop の公式ドキュメントに従って完全分散型 Hadoop クラスター環境の構築を試してください。
  • エクササイズ
  1. 分散ファイル システム設計の要件について説明します。

回答: さまざまな種類のファイル システムを使用でき、複数種類のファイル読み取りおよび書き込み操作をサポートできる必要があり、システムは拡張と保守が容易で、ストレージ ノード エラーの回復メカニズムがあり、権限管理をサポートし、複数のファイル システムをサポートする必要があります。ネットワークプロトコルに準拠しており、セキュリティがある程度保証され、ハードディスクやネットワークファイルの送信がサポートされている必要があります。

  1. 分散ファイルシステムはどのようにしてより高度な拡張を実現するのでしょうか?

回答: 分散ストレージ技術は、データを分散して保存するために使用されます。分散ファイル システムは、複数のデータ サーバーを使用して水平方向の拡張を実現し、同時に複数のデータ サーバーにデータを分散することで、サーバーの柔軟性を高め、ストレージ効率を向上させます。また、分散ファイルシステムは、分散キャッシュ技術やネットワーク負荷分散技術により水平拡張も実現できます。

  1. HDFS のブロックと通常のファイル システムのブロックの違いについて説明します。

回答: HDFS のブロック: HDFS のストレージ ブロックは 64M で、これは HDFS の内部ストレージ ユニットです。データのレプリケーションとストレージを実現するには、すべてのファイルを 64M のストレージ ブロックに再分割する必要があります。通常のファイル システムのブロック: ブロックはファイル システムの最小読み取りおよび書き込み単位です。通常、通常のファイル システムのストレージ ブロックのサイズは HDFS のサイズよりも小さく、一般に 4KB から 8KB の間です。

  1. HDFS のネーム ノードとデータ ノードの具体的な機能について説明します。

回答: HDFS のネーム ノードはクラスター全体のコアです。すべてのファイルのメタデータを保存し、メタデータの更新とクエリの管理を担当し、ファイル アクセス制御も担当します。また、割り当てと管理も担当します。ノードはデータ ブロックのアップロードとダウンロードを可能にし、データ ブロックのコピーと検証を担当し、HDFS ファイル システム全体の監視と管理も担当し、HDFS 全体の実行ステータスを監視できます。HDFS データ ノードは、クライアントの読み取りおよび書き込み要求を処理し、クライアントから送信されたファイルをストレージ ブロックに分割し、各ストレージ ブロック内のデータをローカルに保存し、これらのストレージ ブロックをネーム ノードで指定された複数のストレージ ブロックにコピーする責任を負います。冗長ストレージ用のデータ ノード。データ ノードは、ローカルに保存されているストレージ ブロックをチェックする役割も担っており、破損したストレージ ブロックが見つかった場合は、無効としてマークされ、ローカルから再コピーされます。

  1. 分散ファイル システムではセントラル ノードの設計が重要ですが、HDFS がセントラル ノードの負担をどのように軽減するのか説明してください。

回答: HDFS はクライアント/サーバー モデルを採用しており、クライアントはネーム ノード情報をクエリし、ネーム ノードからデータ ノード情報を取得できるため、セントラル ノードの負担が軽減されます。また、ネームノードの負担を軽減するための工夫として、アクセスできない障害ノードが存在する場合、ノード管理者が遠隔地からデータノードの状態を非同期に確認することで、ネームノードの負担を軽減することができます。 。

  1. HDFS は一意の名前ノードのみを設定するため、システム設計が簡素化されますが、明らかな制限もいくつかあります。制限の具体的な側面について説明してください。

回答: 第一に、ネーム ノードが 1 つしかないため、可用性が制限されます。ネーム ノードに障害が発生すると、システム全体が機能しなくなります。第二に、ネーム ノードはクラスター内のすべてのファイルのメタデータを保存するため、その処理負荷は非常に大きくなります。ファイルシステムが成長し続けると、ネームノードの処理能力が制限される可能性があります。

  1. HDFS の冗長データ ストレージ戦略について説明します。

回答: HDFS の冗長データ ストレージ戦略は、データ ブロックを複数のデータ ノードにコピーし、デフォルトで 3 つのコピーを作成することです。この方法では、1 つのノードに障害が発生しても、他のノードからデータを回復でき、この保存戦略により、システムの単一障害点を効果的に削減します。

  1. データ レプリケーションは、データ書き込みおよびデータ リカバリ中に発生する必要があります。HDFS データ レプリケーションでは、パイプライン レプリケーション戦略が使用されます。この戦略の詳細について詳しく説明してください。

回答: HDFS データ レプリケーションでは、パイプライン レプリケーション戦略を使用します。これは、データ (ファイル) を既知の DataNode ノードのセットにコピーすることを指します。デフォルトのレプリケーション係数は 3 です。つまり、データの各コピーは 3 つの DataNode ノードに書き込まれます。HDFS は、このデータを複数のブロックに順次分割し、これらのブロックを DataNode ノードに個別に書き込み、すべてのブロックが書き込まれるまですぐに次のブロックの書き込みを開始します。これにより、データ複製の送信効率が大幅に向上し、ネットワーク帯域幅を効果的に利用して大量のデータを送信できます。

  1. HDFS がエラーを検出する方法と回復方法について説明します。

回答: HDFS はハートビート メカニズムとブロックレポート メカニズムを使用して、データ ノード上の障害を検出します。ネームノードがデータノードからハートビート情報を受信した場合、それはデータノード ノード上のブロックに障害が発生していないことを意味し、ネームノードがハートビート情報を受信しない場合は、 DataNode からのハートビート情報 ハートビート情報を取得すると、NameNode は DataNode に障害が発生したと判断し、回復コマンドを発行して破損したデータを復元します。

  1. HDFSが失敗せずにファイルを読み込むプロセスを説明してください。

回答: まず、クライアントは NameNode へのデータ読み取りリクエストを開始します。NameNode がそれを受信すると、データが存在する DataNode ノードを返します。NameNode が接続を確立した後、クライアントは DataNode からデータ ブロックをプルします。プルが完了するまで、クライアントはプルします。フェッチされたデータは、データの整合性も検証します。データが不完全であることが判明した場合、クライアントは、有効なデータ ブロックが正常にプルされるまで、ネームノードから新しいデータ ブロックを再要求します。 、最後に複数のデータ ブロックが抽出され、1 つのドキュメントに結合されます。

  1. HDFS がファイルを失敗なく書き込むプロセスを説明してください。

回答: まず、クライアントは NameNode へのファイル書き込みリクエストを開始します。NameNode がそれを受信すると、複数の利用可能な DataNode ノードに応答します。NameNode が接続を確立した後、クライアントはファイルをブロックに分割し、各部分をコピーします。すべてのブロックが書き込まれて書き込みが完了するまで、DataNode ノードへの各書き込みが行われます。その後、クライアントは NameNode に信号を送信して書き込みが完了したことを確認し、NameNode はファイルの場所を記録し、受信後のメタデータ内のファイル コンテンツ ブロック。

  • エクササイズ
  1. Hadoop の最適化とリリース後の開発の 2 つの主要な側面について話しましょう。

回答: Hadoop の最適化と開発は、主に次の 2 つの側面に反映されます。 1. アーキテクチャの最適化: Hadoop アーキテクチャの開発プロセスにおいて、HDFS のオリジナル バージョンのシングルポイント アーキテクチャから HDFS HA アーキテクチャへの利点マルチポイント アーキテクチャの導入により、ノードの単一障害点という名前を効果的に軽減できます。MapReduce1.0 のシングルポイント アーキテクチャから、MapReduce2.0 および YARN のマルチポイント アーキテクチャに発展します。リソースの占有を削減し、システムのスケーラビリティと拡張性を向上させます。2. システムの最適化: Hadoop は、HDFS、MapReduce、Spark などの内部スケジューリング戦略も常に最適化して、タスクのより高速かつ効率的な実行を実現し、使用するリソースを減らし、より大規模に拡張することができます。

  1. HDFS1.0 に名前ノードを 1 つだけ含めることによって生じる問題について説明します。

回答: 1. 単一障害点: ネームノードが 1 つしかないため、ひとたび障害が発生すると、システム全体が正常に動作できなくなり、さらにはデータ損失などの問題が発生する可能性があります。2. リソース使用率が低い: シングルポイント アーキテクチャのため、システム リソースを効果的に利用できず、システム全体が非効率になります。

  1. HDFS の HA アーキテクチャのコンポーネントとその特定の機能について説明してください。

回答: 1. NameNode サービス: ユーザーによるファイルの読み取りおよび書き込み制御、データ ブロックの保存場所などのデータ アクセス制御を担当します。2. DataNode サービス: 実際のデータの処理と保存、ハートビート レポートなどを担当します。3. JournalNode サービス: NameNode のアクティブ ステータスを 1 つ以上のサーバーに保存し、NameNode 間の操作を同期します。

  1. HDFS の HA アーキテクチャでデータ ノードがネーム ノードとの通信をどのように維持するかを分析してください。

回答: HDFS の HA アーキテクチャでは、データ ノードとネーム ノード間の通信に特定のプロトコルが使用されます。たとえば、データ ノードはハートビートを使用して現在のプロセスが生きているかどうかを確認し、ネーム ノードはネットワーク送信を使用します。データブロックやメタデータをアップロードする技術で、データノードにデータ情報を与えます。

  1. HDFS フェデレーションが必要な理由と、HDFS フェデレーションによってどのような問題が解決できるかを説明してください。

回答: HDFS フェデレーションは、複数の独立したネームノードとデータノードで構成される HDFS サービスの分散アーキテクチャです。単一障害点のリスクを効果的に軽減しながら、ユーザーにより多くの利用可能なスペースを提供し、システムの拡張性とユーザーのニーズを満たす拡張性を向上させることができます。

  1. HDFS フェデレーションにおける「ブロック プール」の概念について説明し、HDFS フェデレーション内のネーム ノードの障害が、それに関連するデータ ノードに影響を与えずに他のネーム ノードにサービスを提供し続ける理由を分析してください。

回答: HDFS フェデレーションの「ブロック プール」とは、各データ ノードが保存できるデータ ブロックの最大数を指します。その機能は、データ ブロックのストレージ スペースをより適切に管理することです。データ ブロックのサイズに応じて、さまざまなサイズに構成できます。ブロック プール。DataNode は、異なるデータ ブロック ストレージ スペースを割り当てます。NameNode に障害が発生した場合でも、関連する DataNode が他の NameNode にサービスを提供し続けることができるため、システム全体の可用性が高まります。

  1. MapReduce1.0 アーキテクチャに存在する問題について詳しく説明してください。

回答: 1. リソース使用率が低い: MapReduce1.0 には使用する冗長リソースがないため、リソース使用率は高くなく、時間がかかります; 2. スケールが限られています: シングルポイント アーキテクチャが制限され、MapReduce1.0 アーキテクチャが制限されます拡張できず、制限され続ける; 3. 不親切なガベージ コレクション メカニズム: MapReduce 1.0 には適切なガベージ コレクション メカニズムがないため、リソースの浪費、システムのクラッシュ、その他の問題が発生します。

  1. YARN アーキテクチャの各コンポーネントの機能について説明してください。

回答: 1. ResourceManager: クラスター リソースの管理、アプリケーションのスケジュール設定、ステータスのリアルタイム更新を担当します。2. NodeManager: メモリ、ディスク、ネットワークなどのノード リソースの管理と監視を担当します。3. ApplicationMaster: ノードのリソース割り当てとスケジューリングの管理を担当し、リソース管理の抽象化レイヤーを提供します。

  1. YARNフレームワークでMapReduceプログラムを実行する場合の、送信から完了までの具体的な手順を説明してください。

回答: 1. ユーザーは、MapReduce プログラムを ResourceManager に送信します。2. ResourceManager がジョブを ApplicationMaster に割り当てます。3. ApplicationMaster はプログラムの Jar パッケージを取得し、ジョブに従って複数のサブタスクに分割します。4. ApplicationMaster は、NodeManager に対してリソースを申請するリクエストを開始します。5. NodeManager はプログラム Jar をプルし、タスクを開始します。6. 各タスクが完了すると、ApplicationMaster は ResourceManager にジョブが完了したことを通知します。

  1. YARN フレームワークと MapReduce1.0 フレームワークの長所と短所を比較分析してください。

回答: 利点: 1. YARN は水平方向の拡張性が高く、より多くのノードの操作をサポートし、より多くのジョブを処理できます。2. YARN のリソース管理はより柔軟であり、システム リソースをより有効に活用できます。3. YARN は、Tez、Spark、Kafka など、より多くのプログラミング モデルをサポートできます。欠点: 1. YARN フレームワークは、リソースの割り当てとスケジューリングの点で、MapReduce1.0 フレームワークよりも複雑です。2. YARN フレームワークの動作効率とパフォーマンスは、MapReduce1.0 フレームワークに比べて低くなります。

  1. Pig Tez と Kafka の機能をそれぞれ説明してください。回答: 1. Pig Tez: Pig Tez は、Pig データ処理を高速化するためのメカニズムです。Apache Tez のアーキテクチャを使用して、複数のジョブを結合したり、いくつかの軽量ジョブを結合するために使用したりできるタスク グラフを構築できます。 2. Kafka: Kafka は、分散パブリッシュ/サブスクライブ メッセージング システムです。大容量クラスターを維持することで、数百万のメッセージ サブスクリプションをサポートし、高スループットと低遅延をサポートし、大規模で使用できます。データの収集、集約、処理;

おすすめ

転載: blog.csdn.net/qq_50530107/article/details/131260866