Hadoop NameNodeのHA環境におけるノード01、ノード02再起動手順

Namenode HA再起動手順

#nn02の停止
@nn02
/etc/init.d/hadoop-0.20-mapreduce-jobtrackerha stop
/etc/init.d/hadoop-0.20-mapreduce-zkfc stop
/etc/init.d/hadoop-hdfs-namenode stop
/etc/init.d/hadoop-hdfs-journalnode stop
/etc/init.d/hadoop-hdfs-zkfc stop
/etc/init.d/zookeeper-server stop

@nn01
sudo -u hdfs hdfs haadmin -getServiceState nn01(activeのままになってること)

##起動
@nn02
/etc/init.d/zookeeper-server start
/etc/init.d/hadoop-hdfs-zkfc start
/etc/init.d/hadoop-hdfs-journalnode start
/etc/init.d/hadoop-hdfs-namenode start
/etc/init.d/hadoop-0.20-mapreduce-zkfc start
※JobTrackerは手順最後で、セーフモード解除後に起動

sudo -u hdfs hdfs haadmin -getServiceState nn01(activeになってること)
sudo -u hdfs hdfs haadmin -getServiceState nn02(standbyになってること)

#両方activeになっていたら.
@nn02
sudo -u hdfs hdfs haadmin -transitionToStandby nn02 -force.

#以下をやった方が更に安全.
@nn02
sudo -u hdfs hdfs dfsadmin -safemode enter

# nn02に移行.
sudo -u hdfs hdfs haadmin failover nn01 nn02

sudo -u hdfs hdfs haadmin -getServiceState nn01 (standbyになってること)
sudo -u hdfs hdfs haadmin -getServiceState nn02 (activeになってること)

#nn01の停止
@nn01

sudo -u hdfs hdfs dfsadmin -safemode enter

/etc/init.d/hadoop-0.20-mapreduce-jobtrackerha stop
/etc/init.d/hadoop-0.20-mapreduce-zkfc stop
/etc/init.d/hadoop-hdfs-namenode stop
/etc/init.d/hadoop-hdfs-journalnode stop
/etc/init.d/hadoop-hdfs-zkfc stop
/etc/init.d/zookeeper-server stop

sudo -u hdfs hdfs haadmin -getServiceState nn02 (activeのままになってること)

@nn01
/etc/init.d/zookeeper-server start
/etc/init.d/hadoop-hdfs-zkfc start
/etc/init.d/hadoop-hdfs-journalnode start
/etc/init.d/hadoop-hdfs-namenode start
/etc/init.d/hadoop-0.20-mapreduce-zkfc start

#セーフモード解除
sudo -u hdfs hdfs dfsadmin -safemode leave
sudo -u hdfs hdfs dfsadmin -safemode get

/etc/init.d/hadoop-0.20-mapreduce-jobtrackerha start

##確認
sudo -u hdfs hdfs haadmin -getServiceState nn01 (standbyになってること)
sudo -u hdfs hdfs haadmin -getServiceState nn02 (activeになってること)

##両方activeになっていたら.
@nn01
sudo -u hdfs hdfs haadmin -transitionToStandby nn01 -force.

##元に戻す.
sudo -u hdfs hdfs haadmin -failover nn02 nn01

sudo -u hdfs hdfs haadmin -getServiceState nn01 (activeになってること)
sudo -u hdfs hdfs haadmin -getServiceState nn02 (standbyになってること)

##両方activeになっていたら.
@nn02
sudo -u hdfs hdfs haadmin -transitionToStandby nn02 -force.

@nn02

#セーフモード解除
sudo -u hdfs hdfs dfsadmin -safemode leave
#JobTracker起動
/etc/init.d/hadoop-0.20-mapreduce-jobtrackerha start