So-net無料ブログ作成

インフラエンジニアのためのHadoop情報 障害復旧その2 [Hadoop]

PrimaryNameNodeの障害が取り除けず、サーバをあきらめてSecondaryNameNodeをPrimary
として入れ替える場合の手順を紹介します。
この場合は、クラスタ中のホストが指し示していたプライマリNameNodeのアドレスを、これまで
SecondaryNameNodeだったアドレスに切り替えます。手順を以下に示します。セカンダリをプラ
イマリに昇格するイメージです。
PrimaryNameNodeは停止しているものとする。(停止していない場合は停止する)
$ sudo /sbin/service hadoop-0.20-namenode stop

SecondaryNameNodeを停止します。
$ sudo /sbin/serivce hadoop-0.20-secondarynamenode stop

チェックポイントのメタデータをNameNodeのメタデータとしてコピーする。
$ cd /var/lib/hadoop-0.20/cache/hadoop/dfs/name/current
$ sudo cp ../../namesecondary/previous.checkpoint/* .

NameNodeのアドレスを変更する。(srv2.example.comが新しいPrimaryNameNode)
$ sudo vi /etc/hadoop-0.20/conf/core-site.xml

 
   fs.default.name
   hdfs://srv1.example.com:8020
 
   ↓
 
   fs.default.name
   hdfs://srv2.example.com:8020
 

新プライマリNameNodeとして起動する。
$ sudo /sbin/service hadoop-0.20-namenode start

他のデータノードでも、新プライマリNameNodeのアドレスを参照するように変更する。
全てのデータノードで以下の設定を変更します。
$ sudo vi /etc/hadoop-0.20/conf/core-site.xml

 
   fs.default.name
   hdfs://srv1.example.com:8020
 
   ↓
 
   fs.default.name
   hdfs://srv2.example.com:8020
 

$ sudo /sbin/service hadoop-0.20-datanode restart

DataNodeの起動直後に、fsckコマンドを実行すると「Under replicate」のエラーが出
ます。しばらくすると再配置が行われ、エラーは解消します。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。