名前ノードとSecondaryNameNode、データノード働くメカニズムのHadoopの

思考:名前ノードのメタデータがどこに保存されていますか?

多くの場合、ランダムアクセスの必要性だけでなく、お客様のご要望に応え、低効率である必要があるため、メタデータは、ディスクの名前ノードのノードに格納されていると仮定すると。このように、メモリに格納されるメタデータが必要。専用メモリがある場合停電しかし、一度、メタデータが失われ、クラスタ全体が機能しませんこのように生成したバックアップディスクメタデータのFsImageを。

===メモリ更新内のメタデータは、同時に更新FsImageであれば、低効率につながるが、あなたは更新しない場合は、整合性の問題は、ノードの名前ノードと、発生したときに「これは、新たな問題をもたらします停電は、それがデータの損失を持っています。したがって、導入編集ファイル(のみ追記動作、高効率)。メタデータの更新や追加のメタデータは、メモリ内のメタデータを変更し、編集に追加するたびに。したがって、ノードの名前ノードのオフ回、及びFsImage編集、合成メタデータを組み合わせることができます。

しかし、あなたが長い時間で編集にデータを追加する場合、ファイルデータにつながることは大きすぎる、効率を低下させますが、停電後、回復時間は、メタデータを必要な長すぎます。したがって、定期的なFsImage編集のマージと、もし操作によって完了名前ノードノード意志の低い効率。そのため、新しいノードの導入

SecondaryNamenode、特にFsImageと編集の合併のため。

1.ステージ1:名前ノード開始

(1)まず、名前ノードのフォーマットを開始しFsimageと編集ファイルを作成します。これが初めてではない場合は、起動しログインして編集した画像を直接メモリにファイルをロードします。

(2)クライアントは、追加および削除のメタデータを要求します。

(3)名前ノードレコード操作ログは、更新ログをローリング。

メモリ内のデータへの(4)名前ノードの付加および欠失。

2.ステージ:セカンダリ名前ノードの作業

(1)二次名前ノードは名前ノードがチェックポイントが必要かどうかを尋ねました。名前ノードは、直接戻るかどうかの結果を確認します。

(2)二次名前ノード要求の実行チェックポイント。

(3)名前ノードのスクロールは、編集ログを書き込まれています。

(4)ミラーファイルとセカンダリ名前ノードにコピースクロールする前に、編集ログ。

(5)二次名前ノード負荷と画像メモリにログファイルを編集し、そしてプールしました。

新たな画像ファイルfsimage.chkpointを生成する(6)。

(7)fsimage.chkpoint名前ノードをコピーします。

(8)名前ノードはfsimageに改名さfsimage.chkpointます。

 

1)2つのファイルのデータ自体のための1つを含む、ディスク上のファイルとして格納されているデータノードにデータブロックを、メタデータは、データブロックの長さを含み、チェックサムデータ・ブロック、およびタイムスタンプ。

2)データノードは、定期的(1時間により、登録を開始した後、名前ノード)は、情報ブロック名前ノードの全てを報告します。

3)データノード名前ノードへハートビートリターン結果にハートビート3秒ごとには、別のマシンにコピーデータブロックとしてコマンド、またはデータ・ブロックを削除します。10分以上の心拍データノードを受信しなかった場合は、ノードが使用できないと考えられています。

4)クラスタ操作が安全に参加し、いくつかのマシンを残すことができます。

 

公開された242元の記事 ウォン称賛13 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_41813208/article/details/102722283
おすすめ