1

HDFS では、プライマリ ネーム ノードがダウンしている場合、セカンダリ ノードは正確にプライマリ ネーム ノードとして機能しますか? SNN にはブロックの場所の詳細がありますか? そうでない場合は、SNN の目的を説明してください。データ ノードがダウンしているときにクライアントがファイルにアクセスしようとすると、データは取得されますか? (SNNが立ち上がっているので)

4

1 に答える 1

1

FAQから:

「セカンダリ ネーム ノード」という用語は、やや誤解を招く可能性があります。これは、データ ノードがセカンダリ ネーム ノードに接続できないという意味ではネーム ノードではなく、障害が発生した場合にプライマリ ネーム ノードを置き換えることはできません。

セカンダリ ネーム ノードの唯一の目的は、定期的なチェックポイントを実行することです。セカンダリ ネーム ノードは、現在のネーム ノード イメージを定期的にダウンロードしてログ ファイルを編集し、それらを新しいイメージに結合して、新しいイメージを (プライマリで唯一の) ネーム ノードにアップロードします。

そのため、name-node に障害が発生し、同じ物理ノードで再起動できる場合は、data-node をシャットダウンする必要はなく、name-node を再起動するだけで済みます。古いノードを使用できなくなった場合は、最新のイメージを別の場所にコピーする必要があります。最新のイメージは、障害が発生する前にプライマリであったノード (利用可能な場合) にあります。またはセカンダリネームノード上。後者は、後続の編集ログがない最新のチェックポイントになります。つまり、最新の名前空間の変更がそこにない可能性があります。この場合、クラスター全体を再起動する必要もあります。

于 2013-06-10T09:48:21.677 に答える