シナリオ1:
HDFS fsimageとeditlogは、NFSマウントを含む複数の場所に書き込まれます。
A)NameNodeデーモンのクラッシュ:解決策:Namenodeプロセスを再起動するだけです
B)ネームノードが実行されている場所でホストがダウンしています。
解決:
- 空のdfs.name.dirを使用して、別のホストでnamenodeを開始します
- dfs.name.dirを、メタデータのコピーがあるNFSマウントにポイントします。また
- fs.checkpoint.dirをセカンダリNameNodeからチェックポイントディレクトリにポイントした後、namenodeを起動するときに--importCheckpointオプションを使用します
- fs.default.nameをバックアップホスト名URIに変更し、スレーブファイル内のすべてのスレーブIPを使用してクラスターを再起動します。
注-最後のチェックポイントの後に行われた可能性のある編集を見逃す可能性があります。
シナリオ2:
HDFSfsimageは単一のディレクトリに書き込まれます。
A)NameNodeデーモンのクラッシュ:解決策:不明
B)ネームノードが実行されている場所でホストがダウンしています。
解決:
- (1)のディレクトリを指すdfs.name.dirを指す空のディレクトリを作成します
- fs.checkpoint.dirをセカンダリNameNodeからチェックポイントディレクトリにポイントした後、-importCheckpointを使用してNamenodeを開始します。
- fs.default.nameをバックアップホスト名URIに変更し、スレーブファイル内のすべてのスレーブIPを使用してクラスターを再起動します。
このようにして、最後のチェックポイントの後に編集されたファイルを再び見逃してしまいます。
これがクラスターを手動で回復する方法であるかどうかをお知らせください。