欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Hadoop面试题---HdfsHA即NameNode的高可用

时间:2023-05-05
一、为什么引入高可用

因为namenode存在单点失效问题。如果namenode失效了,那么所有的客户端,包括MR作业,均无法读或者写文件,因为你namenode是唯一存储元数据与文件到数据库映射的地方。即使使用了2NN节点,也无法做到做到完全恢复,因为2NN不算是namenode的一个热备。

二、Hdfs的高可用 1、机制

HDFS HA配置了一对活动-备用namenode。当活动namenode失效。备用namendoe就会接管它的任务并开始服务与来自客户端的请求,不会有任何明显的中断。

2、需要做哪些修改

(1)namenode之间需要通过高可用共享存储实现编辑日志的共享。

(2)datanode需要同时向两个namenode发送心跳和块汇报信息,因为数据块的映射信息存储在namenode的内存中,而非磁盘。这样发生错误切换时,Standby节点就不需要等待所有的数据节点进行全量数据块汇报,而直接可以切换到Active状态。

(3)辅助namenode的角色被备用namenode所包含,备用namenode为活动的namenode命名空间设置周期性检查点。

3、两种高可用共享存储方式

NFS过滤器和群体日志管理器(QJM)

4、故障转移

默认使用ZooKeeper来确保有且仅有一个活动namenode,每一个namenode运行着一个故障转移控制器,其工作就是监视宿主namenode是否失效(通过一个简单的心跳机制实现)并在namenode失效时进行故障切换。

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。