目次:
ビデオ: Cloudera Tutorial | Cloudera Manager Quickstart VM | Cloudera Hadoop Training | Edureka 2024
分散Hadoopクラスタのマスターノードは、このリストに記載されているさまざまなストレージおよび処理管理サービスをHadoopクラスタ全体でホストします。冗長性は単一障害点を避けるために重要です。したがって、2つのスイッチと3つのマスターノードがあります。
-
NameNode: HDFSストレージを管理します。高可用性を確保するために、アクティブなNameNodeとスタンバイNameNodeの両方があります。それぞれは、専用のマスターノードで動作します。
<! - 1 - > -
チェックポイントノード(またはバックアップノード): NameNodeの チェックポイントサービス を提供します。これには、最後のチェックポイント以降のHDFS(新規ファイル、削除済みファイル、および追加ファイル)のファイルの変更をNameNodeの編集ログで読み取って、ファイルをデータブロックにマップするNameNodeのマスターファイルに適用します。
さらに、バックアップノードは、ファイルシステムの名前空間のコピーをメモリに保持し、NameNodeの状態と同期させて保持します。高可用性の展開では、チェックポイントノードまたはバックアップノードを使用しないでください。代わりにスタンバイNameNodeを使用してください。スタンバイネームノードは、ネームノードのアクティブスタンバイに加えて、チェックポイントサービスを維持し、ファイルシステムネームスペースの最新のコピーをメモリに保持します。
<! - 2 - > -
JournalNode: NameNodeからHDFSのファイルへの変更を示す編集ログの変更を受け取ります。少なくとも3つのJournalNodeサービス(および常に奇数)はクラスタ内で実行されていなければならず、軽量であるため、マスターノード上の他のサービスと同じ場所に配置することができます。
-
リソースマネージャ: アプリケーションタスクのスケジューリングとHadoopクラスタのリソースの管理を監督します。このサービスはヤーンの中心です。
<! - 3 - > -
JobTracker: Hadoop 1サーバーでは、クラスタリソース管理とスケジューリングを処理します。 YARNを使用すると、JobTrackerは廃止され、使用されません。多くのHadoopデプロイメントは、まだHadoop 2とYARNに移行されていません。
-
HMaster: HBaseリージョンサーバーを監視し、すべてのメタデータの変更を処理します。高可用性を確保するには、必ず2番目のHMasterインスタンスを使用してください。 HMasterサービスは、マスターノード上の他のサービスと同じ場所に配置できるほど軽量です。 Hadoop 1では、HMasterサービスのインスタンスがマスターノードで実行されます。 Hadoop(Hase on Yarn)のHadoop 2では、HMasterインスタンスがスレーブノード上のコンテナで実行されます。
-
Zookeeper: 分散コンポーネントを調整し、それらを同期させるためのメカニズムを提供します。 Zookeeperは、NameNodeの失敗を検出し、新しいNameNodeを選択するために使用されます。また、HMaseとRegionServersの状態を管理するためにHBaseとともに使用されています。
JournalNodeの場合と同様に、少なくとも3つのZookeeperノードのインスタンス(および常に奇数)が必要であり、マスターノード上の他のサービスと同じ場所に配置できるほど軽量です。
ここでは、(同じハードウェアの)3つのマスターノードがあります。そこでは、主要なサービスActive NameNode、スタンバイNameNode、およびResource Managerにそれぞれ独自のサーバーがあります。各サーバーにはJournalNodeサービスとZookeeperサービスも実行されていますが、これらは軽量であり、NameNodeおよびResource Managerサービスとのリソース競合のソースにはなりません。
Hadoop 1の原則は、NameNode、Secondary NameNode、およびJobTrackerサービス専用のマスターノードが必要な場合と同じです。
HadoopでHBaseをHadoop 2で使用する場合は、追加のサービスは必要ありません。 HBaseを使用するHadoop 1デプロイメントの場合、Hadoopクラスタのマスターノードでのサービスのデプロイについては、次の図を参照してください。
HBaseをサポートしていないHadoop 1マスターサーバーと比較すると、2つの違いがあります。ここでは、2つのHMasterサービス(1つはHBaseを調整し、もう1つはスタンバイとして機能する)とZookeeperサービスが3つのマスターノードフェールオーバーを処理します。
Haseop 1クラスタをHBase専用に使用する場合、HBaseはHadoop 1 MapReduceインフラストラクチャに依存しないため、JobTrackerサービスなしで行うことができます。
人々がHadoopのハードウェアについて語るとき、彼らは一般に、 コモディティ コンポーネント - 安価なコンポーネントの使用を強調します。少数のマスターノード(一般的には3〜4つ)のためにダウンしなければならないため、たとえば高価なハードディスクドライブを使用することに決めた場合、コストを犠牲にすることはありません。
マスターノードがなければ、Hadoopクラスタは存在しません。マスターノードはミッションクリティカルな機能を果たします。冗長性が必要な場合でも、高可用性と復元力を念頭において設計する必要があります。
推奨ストレージ
Hadoopマスターノードの場合、スレーブノードの数やクラスタの使用状況にかかわらず、ストレージ特性は一貫しています。 RAID 1 + 0用に構成されたRAID HDDコントローラとともに、4つの900GB SASドライブを使用します。 SASドライブはSATAドライブよりも高価であり、記憶容量は低くなりますが、より高速で信頼性が高くなります。
SASドライブをRAIDアレイとして配備することで、Hadoop管理サービスはミッションクリティカルなデータ用の冗長記憶域を確保できます。これにより、Hadoopクラスタの管理をサポートするのに十分な安定した、高速で冗長なストレージが得られます。
推奨プロセッサ
この記事の執筆時点では、ほとんどのリファレンスアーキテクチャでは、2つのCPUソケットを搭載したマザーボードを使用することを推奨しています。 Intel Ivy Bridgeアーキテクチャが一般的に使用されています。
推奨メモリ
メモリ要件は、Hadoopクラスタの規模によって大きく異なります。アクティブネームサーバとスタンバイネームノードサーバは、HDFSを管理するためにRAMに大きく依存しているため、メモリはHadoopマスターノードの重要な要素です。したがって、Hadoopマスターノードにはエラー訂正メモリ(ECC)を使用してください。通常、マスターノードには64GBから128GBのRAMが必要です。
NameNodeメモリ要件は、HDFSに格納されているファイルブロック数の直接的な関数です。原則として、NameNodeはHDFSブロックあたり約1GBのRAMを使用します。 (ファイルが個々のブロックに分割され、各ブロックのコピーが3つあるように複製されていることに注意してください。)
Resource Manager、HMaster、Zookeeper、およびJournalNodeサーバーのメモリ要求は、NameNodeサーバーの場合よりもかなり少なくなります。ただし、マスターノードを一貫した方法でサイズを調整して、ハードウェア障害の場合に交換可能にすることは、良い習慣です。
推奨ネットワーク
マスターノード上のサービスでは高速通信が不可欠なので、1組の10GbE接続を使用することを推奨します。このボンディングされたペアは冗長性を提供しますが、スループットも20GbEに倍増します。小さなクラスター(例えば、50ノード未満)では、1GbEコネクターを使用することで逃げることができます。