まず、私の質問を読んでくれてありがとう!
現在、Hadoopのレプリケーションモデルを研究していますが、行き詰まっています。「 OreillyHadoopTheDefinitive Guide 3rdEditionJan2012」という本から勉強しています。質問に来るために、私は最初に本から下のテキストを読む必要があります。
73ページには、次のようなものがあります。
「DistributedFileSystemは、クライアントのFSDataOutputStreamを返します。Hadoop分散ファイルシステムは、データの書き込みを開始します。読み取りの場合と同様に、FSDataOutputStreamは、データノードおよびネームノードとの通信を処理するDFSOutputストリームをラップします。クライアントがデータを書き込むとき(ステップ3) 、
DFSOutputStreamはそれをパケットに分割し、データキューと呼ばれる内部キューに書き込みます。データキューはデータストリーマーによって消費されます。データストリーマーは、レプリカを保存するのに適したデータノードのリストを選択して、名前ノードに新しいブロックを割り当てるように依頼します。」*
ご覧のとおり、DFSOutputStreamにはパケットのデータキューがあります。データキューは、namenodeに新しいブロックの割り当てを要求するDataStreamerによって消費されています。
私の質問:
これはどのように作動しますか?
Namenodeはどのように新しいブロックを割り当てますか?
同じ質問、別の質問:Namenodeはどのようにして適切なデータノードのリストを作成しますか?
私はこれについてインターネットや本の中で何も見つけることができません。この本は、プロセスを高レベルから説明しています。
お手数をおかけしますが、よろしくお願いいたします。