目次:
ビデオ: Jenkins Tutorial For Beginners 17 - Launch agent via Java Web Start (Windows Slave) 2024
DataNodeという名前のバックグラウンドプロセス。このバックグラウンドプロセス( デーモン
とも呼ばれます)は、システムがそのコンピュータに格納しているデータのスライスを追跡します。ローカルに保存されたデータの正常性と状態を報告するために、HDFSのマスターサーバー(NameNode)と定期的に会話します。
データブロックは、ローカルファイルシステムに未処理ファイルとして保存されます。 Hadoopユーザの観点から見ると、処理する必要のあるファイルがスレーブノードに含まれているかどうかはわかりません。 Hadoopの中では、データブロックやクラスタ全体でのデータブロックの表示方法がわかりません.HDFSにはファイルの一覧が表示されます。<! - 1 - > ファイルブロックがどのようにクラスタ全体に分散されるのかの複雑さはあなたから隠されています - あなたはそれがどれほど複雑か分かりませんし、 知っている。実際には、スレーブノード自体は、格納しているデータブロックの内容を知ることさえできません。それは、どのデータブロックがHDFSに格納されたファイルを構成するかを知っているNameNodeサーバです。
冗長性の向上
<! - 2 - >HDFSの1つのコア設計原理は、汎用ハードウェアコンポーネントを使用することによって個々のスレーブノードのコストを最小化するという概念です。大規模スケーラブルなシステムでは、数百または数千のスレーブノードが必要な場合にコストが急激に上昇するため、この考え方は理にかなっています。しかし、より低コストのハードウェアを使用することは、個々のコンポーネントがより高価なハードウェアほど信頼性が高くないという点で、結果をもたらす。
<! - 3 - >ストレージオプションを選択するときは、高価なエンタープライズクラスのドライブではなく、コモディティドライブを使用することの影響を考慮してください。各ノードにHDFSストレージ専用の12個のハードディスクドライブがある750ノードのクラスタがあるとします。
コモディティディスクドライブの年間故障率(AFR)は4%です(特定のハードディスクドライブでは、特定の年に障害が発生する可能性は4%です)、クラスタではハードディスクが使用される可能性があります一年の毎日の失敗。非常に多くのスレーブノードが存在する可能性があるため、それらの障害は、数百またはそれ以上のノードを有するより大きなクラスタにおいても一般的に発生する。この情報を念頭に置いて、HDFSは、
すべての ハードウェアコンポーネントが、スレーブノードレベルであっても信頼性がないという前提で設計されています。 HDFSは、冗長性によって個々のハードウェアコンポーネントの信頼性を克服します。これは、HDFSに格納されたすべてのファイルの3つのコピーの背後にあるアイデアです。より具体的には、HDFSに格納された各ファイルブロックは合計3つのレプリカを有する。 1つのシステムが必要な特定のファイルブロックで壊れた場合は、他の2つに切り替えることができます。
スレーブノードサーバー設計のスケッチ
総所有コスト、記憶容量、パフォーマンスなどの重要な要素のバランスをとるために、スレーブノードの設計を慎重に計画する必要があります。
通常、各ノードには通常、ローカルに接続された3TBハードディスクドライブが12〜16個あるスレーブノードが表示されます。スレーブノードは、それぞれ6〜8コアの適度な高速デュアルソケットCPUを使用します。つまり、スピードデーモンはありません。これには48GBのRAMが付属しています。つまり、このサーバーは高密度ストレージ用に最適化されています。
HDFSはユーザ空間レベルのファイルシステムなので、HDFSで動作するようにスレーブノード上のローカルファイルシステムを最適化することが重要です。この点で、サーバを設定する際の重要な決定は、スレーブノード上のLinuxインストール用のファイルシステムを選択することです。
Ext3は、何年にもわたって最も安定したオプションであったため、最も一般的なファイルシステムです。しかし、Ext4を見てください。これはExt3の次期バージョンで、安定して信頼できると広くみなされるのに十分長く利用可能です。
もっと重要なことに、HDFSスレーブノードサーバーには、大きなファイルを処理するための最適化がいくつかあります。
Linux Logical Volume Manager(LVM)を使用しないでください。これは、LinuxファイルシステムとHDFSの間の追加レイヤーを表し、Hadoopがそのパフォーマンスを最適化できないようにします。具体的には、LVMはディスクを集約し、HDFSとYARNが行うリソース管理を妨げます。これは、ファイルが物理ドライブにどのように分散されるかに基づいています。