【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

时间:2022-10-03 21:07:29

问题描述:    上一篇就是NameNode 的HA 部署完成,但是存在问题,问题是如果 主NameNode的节点宕机了,还是需要人工去使用命令来切换NameNode的Acitve 这样很不方便,所以

这篇学习笔记就是记录如何解决  故障转移的

   启动以后每个都是Standby,选举一个为Active

   监控  每个NameNode 都应该监控  (ZKFC   Failover  Controller  失败故障转移控制器)

    

开始进行配置

      在hdfs-site.xml 文件中配置 :

      

         <property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>

      在core-site.xml 文件中配置  :

      

<!--配置zookeeper 集群 -->
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop-senior.zuoyan.com:2181,hadoop-senior02.zuoyan.com:2181,hadoop-senior03.zuoyan.com:2181</value>
</property>

    

 启动:

    首先关闭所有HDFS服务:  sbin/stop-dfs.sh   (可以看到服务关闭的顺序   )

    【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

     然后将节点一(hadoop-senior.zuoyan.com  )上 刚配置好的两个配置文件(core-site.xml  和  hdfs-site.xm ) 同步到其余两台机器上去

      使用命令:scp -r etc/hadoop/core-site.xml etc/hadoop/hdfs-site.xml hadoop-senior02.zuoyan.com:/opt/app/hadoop-2.5.0/etc/hadoop/

      使用命令:scp -r etc/hadoop/core-site.xml etc/hadoop/hdfs-site.xml hadoop-senior03.zuoyan.com:/opt/app/hadoop-2.5.0/etc/hadoop/

      【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

    接下来就是启动zookeeper  ,进入到zookeeper的安装目录中,执行命令  bin/zkServer.sh start

            【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

    

    启动完成后要进行的操作:初始化HA在zookeeper 中   ( 第一个节点 )  状态  bin/hdfs zkfc -formatZk

      首先在第二个节点的终端下链接上zookeeper的客户端

       【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

      然后在第一个节点上进行初始化

        【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

        【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

        然后在hadoop-senior02.zuoyan.com 主机上的zookeeper 的客户端进行查看   ls /

            ( 就会发现多了一个节点  )

          【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

          在查看hadoop-ha 这个就是 初始化时创建的那个文件目录

          【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

     启动HDFS :

          命令:sbin/start-dfs.sh

        【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

         查看启动的服务

          【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

        现在主节点  NameNode  和  Standby 的分布情况

        【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

         现在要结束掉Active的节点,检查他是否会自己进行故障转移

            jps 查看一下任务运行的  id号  然后使用命令    kill -9 9991

            【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

            然后去查看Hadoop-senior.zuoyan.com 是否成为了Active

             【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】

              注意:zookeeper 挂了 不会对集群造成影响,就是不能进行故障自动转移,

                还有就是zookeeper 需要服务器的时间同步

              这种HA的结构       是QJM