名前ノードの障害の後、次の2つの方法がデータを回復するために使用することができます。
方法:データを格納するディレクトリSecondaryNameNode名前ノードにデータをコピーします。
- キル-9名前ノードプロセス
- 名前ノード格納されたデータ(/opt/module/hadoop-2.7.2/data/tmp/dfs/name)を削除
[HFX @ hadoop102のHadoop-2.7.2] $ RM -rf /opt/module/hadoop-2.7.2/データを/ tmp / DFS /名前/ * - SecondaryNameNodeは元のデータストアディレクトリの名前ノードにデータをコピー
[HFX @ hadoop102 DFS] $ scpの -r HFX @ hadoop104:/opt/module/hadoop-2.7.2/data/tmp/dfs/namesecondary/* ./name/ - 再起動名前ノード
[HFX @ hadoop102のHadoop-2.7.2] $ sbinに/ hadoop-daemon.shスタート名前ノード
方法2:名前ノードのディレクトリにデータをコピーしますSecondaryNameNode名前ノードデーモンを起動するために使用-importCheckpointオプション。
1.変更HDFS-site.xmlの
dfs.namenode.checkpoint.period
120
- キル-9名前ノードプロセス
- 名前ノード格納されたデータ(/opt/module/hadoop-2.7.2/data/tmp/dfs/name)を削除
[HFX @ hadoop102のHadoop-2.7.2] $ RM -rf /opt/module/hadoop-2.7.2/データを/ tmp / DFS /名前/ * - そうでない場合は、ホストノード上のSecondaryNameNodeと名前ノードには、同じレベルのディレクトリの名前ノードにコピーSecondaryNameNodeストアのデータをカタログする必要があるデータを保存し、ファイルの削除in_use.lock
[HFX @ hadoop102 DFS] $ scpの -r HFX @ hadoop104場合:/ opt /module/hadoop-2.7.2/data/tmp/dfs/namesecondary ./
[HFX @ hadoop102 namesecondary] $ RM -rf in_use.lock
[HFX @ hadoop102 DFS] $ PWD
/opt/module/hadoop-2.7.2/data/tmp/dfs
[HFX @ hadoop102 DFS] $ lsの
データ名namesecondary
- インポートのチェックポイントデータ(エンドオフしばらくCtrl + C待機)
[@ hadoop102 HFX-のHadoop 2.7.2] $ビン/ HDFS名前ノード-importCheckpoint - 启动名前ノードは、
[HFX @ hadoop102のHadoop-2.7.2] $ sbinに/ hadoop-daemon.sh名前ノードを開始します