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

时间:2022-07-25
本文章向大家介绍【Hadoop 分布式部署 十 一: NameNode HA 自动故障转移】,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

问题描述: 上一篇就是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-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/

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

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

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

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

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

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

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

     启动HDFS :

          命令:sbin/start-dfs.sh

         查看启动的服务

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

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

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

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

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

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

这种HA的结构 是QJM