利用QJM实现HDFS的HA策略部署与验证工作记录分享(2)

3.3、启动各种服务

HDFS集群进程启动的大概顺序为:启动所有的JournalNodeà启动nn1nn2à启动所有DataNode。具体详细步骤如下:

(1)          启动所有JournalNode

在所有的配置有JournalNode的服务节点上,以我的配置就是在Hadoop-slave02hadoop-slave03hadoop-slave04上分别执行:

$HADOOP_HOME/sbin/hdfs-daemon.sh startjournalnode

(2)          初始化JournalNode

此步骤要注意的是,如果你是将非HA HDFS的集群转化成为HA HDFS那么这一步骤就需要,如果都是HA HDFS就不需要执行此步骤。该步骤的主要作用是将非HA HDFSNameNodeedit log去初始化JourNalnodes。具体操作在nn1上执行:

$HADOOP_HOME/bin/hdfs namenode -initializeSharedEdits [-force | -nonInteractive]

此命令默认是交互式的,需要用户输入各种YOR N,如果嫌麻烦就直接执行:

$HADOOP_HOME/bin/hdfs namenode–initializeSharedEdits –force

(3)          启动nn1nn2

子步骤1

进入nn1,如果是新集群则format(注意,如果不是新集群千万不要format):

$HADOOP_HOME/bin/hadoop namenode -format

子步骤2:进入nn1,接着启动nn1:

hadoop-daemon.sh start namenode

子步骤3:进入nn2,执行下面命令让nn2nn1上将最新的FSimage信息拉回来:

注意:如果是nn2NameNode已经是被format掉了或者是将非HA HDFS的集群转化成为HA HDFS则不需要执行这一个步骤。

$HADOOP_HOME/bin/hdfs namenode -bootstrapStandby -force

子步骤4进入nn2,然后启动nn2:

hadoop-daemon.sh start namenode

子步骤5启动所有的DataNode

在各个DataNode节点执行:

hadoop-daemon.sh start datanode

或者直接在nn1节点直接执行:

hadoop-daemons.sh start namenode

各个服务到现在为止已经启动完毕,主备节点都还处于StandBy状态。我们可以看到主备节点的信息:

wKioL1PLyVTyFREgAAFx2OhoUj8896.jpg

wKiom1PLyDrj0IDwAAF2lMzHTf8341.jpg

    在这里说说一个遇到的“错误”问题,我在分别启动nn1nn2之后,还没有将其中一个切换为Acive NameNode时,在nn1nn2的日志上都报了以下这个“错误”:

wKioL1PLyarhnl5SAAxOUiZjzUY964.jpg

其实这个错误信息完全可以不用管,出现这个问题原因上面信息已经很明显了,只要接下来将其中一个切换成Acive NameNodeok了。

 

3.4、手动切换Active NameNode

nn1nn2启动后都处于StandBy状态,此时都不能够对外提供服务,现在需要将nn1切换为Active NameNode,进入nn1节点输入:

$HADOOP_HOME/bin/hdfs haadmin-transitionToActive nn1

切换后我们再看看50070页面,nn1已经被切换为Active了: 

wKioL1PLykjC_HGjAAHDEdwSPbc419.jpg

wKiom1PLyS7iK41rAAF9b0gK81Q739.jpg

在来看看之前还没有切换Acive NameNode的“错误”信息已经消失了,下面分别是nn1nn2的日志信息,非常正常:

wKioL1PLyrfyTWhbAAas2ZqM84I807.jpg

wKiom1PLyZ3R7b8UAAiUOLt1PdY291.jpg

另外,如果你现在想将nn2转化为Acive NameNode,则在进入nn2所在节点,输入命令:

$HADOOP_HOME/bin/hdfs haadmin-failover --forcefence --forceactive nn1 nn2

看看nn2上的日志:

wKiom1PLyhPTS5P4AA5mkf9FZZk906.jpg

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/fa97acd4894c9bc4b3c2cd2ee8cb8a14.html