Hadoop架构再探讨——HDFS的设计改进(HA高可用+Federation联盟)

news/2024/5/20 1:56:19 标签: Hadoop, 分布式, HDFS, HA, Federation

文章目录

 
 
 

总述

HADOOP.html" title=Hadoop>Hadoop1.0的局限与不足

  • 抽象层次低,需要人工编写大量代码
  • 表达能力有限
  • 开发者自己管理作业(Job)之间的依赖关系
  • 难以看到程序的整体逻辑
  • 延迟高,因此迭代效率低
  • 浪费资源(分为Map和Reduce两阶段)
  • 实时性差 (适合批处理,不支持实时交互)

这里的HADOOP.html" title=Hadoop>Hadoop1.0仅指HDFS和MapReduce两个核心组件,不包括生态内的Pig、Hive、HBase等组件

HADOOP.html" title=Hadoop>Hadoop1.0的改进思路

  1. HADOOP.html" title=Hadoop>Hadoop自身核心组件之一的HDFS的架构设计改进
  2. HADOOP.html" title=Hadoop>Hadoop自身核心组件之一的MapReduce的架构设计改进
  3. HADOOP.html" title=Hadoop>Hadoop生态其他组件的丰富(Pig、Tez、Spark、Kafka等)

HADOOP.html" title=Hadoop>Hadoop1.0的针对性改进

组件HADOOP.html" title=Hadoop>Hadoop1.0的问题HADOOP.html" title=Hadoop>Hadoop2.0的改进
HDFS单一名称节点,存在单点失效问题HDFA HA,提供名称节点热备份机制
HDFS单一命名空间,无法实现资源隔离HDFA Federation,管理多个命名空间
MapReduce资源管理效率低新型资源管理框架YARN

HADOOP.html" title=Hadoop>Hadoop1.0的生态完善

组件功能针对的问题
Pig处理大规模数据的脚本语言,用户只需要编写几条简单的语句,系统会自动将其转换为MapReduce作业抽象层次低,需要人工编写大量代码
Spark基于内存的分布式比并行编程框架,具有较高的实时性,切较好支持迭代计算延迟高,因此不适合迭代计算
Oozie工作流引擎,协调HADOOP.html" title=Hadoop>Hadoop上的不同任务没有提供作业(Job)之间依赖关系管理机制
Tez支持DAG作业的计算框架,对作业的操作进行分解和重新组合,形成一个大的DAG作业,从而减少不必要操作不同的MapReduce任务之间存在重复操作,降低了效率
Kafka分布式发布订阅消息系统,不同的分布式系统可统一接入到Kafka,实现和HADOOP.html" title=Hadoop>Hadoop各组件之间不同数据的实时高效交换HADOOP.html" title=Hadoop>Hadoop生态中各组件和其他产品之间缺乏统一的、高效的数据交换中介

 
 
 

HDFS_HA_49">HDFS HA

名称节点与数据节点(复习)

名称节点 NameNode数据节点 DataNode
维护文件数据节点的映射维护块id本地文件的映射
存储元数据存储文件内容
元数据位于内存文件内容位于磁盘

第二名称节点(SecondaryNameNode)

N a m e N o d e = F s I m a g e + E d i t L o g NameNode = FsImage + EditLog NameNode=FsImage+EditLog

EditLog的作用是日志备份,它通常可以达到GB级,并且会不断膨胀。为了解决名称节点运行期间EditLog不断膨胀的问题,采用了SecondaryNameNode——第二名称节点

但是,SecondaryNameNode无法解决单点故障

HDFS HA工作原理

  • HDFA HA(High Availability)就是为了解决单点故障问题
  • HA集群有两个名称节点:活跃(Active)和待命 (Standby)
  • 两个名称节点状态同步——这通过一个共享存储系统来实现
  • 一旦活跃名称节点出现故障,待命名称节点立即补上
  • 如何确保某个时刻只有一个NameNode在对外服务?通过ZooKeeper实现
  • DataNode需要同时向两个NameNode汇报信息

HDFS HA图解架构

在这里插入图片描述

 
 
 

HDFS_Federation_83">HDFS Federation

HDFS 1.0存在的问题

  • 扩展性」不可以水平扩展
  • 系统性能」系统整体性能受限于单个NameNode的吞吐量
  • 隔离性」单个名称节点难以提供不同程序之间的隔离型

HDFS Federation的设计

  • 设计了多个相互独立的NameNode,使得HDFS的命名服务能够水平扩展
  • 这些NameNode各自管理自己的命名空间
  • 它们是联盟 Federation)关系,不需要彼此协调
  • 所有NameNode共享底层的DataNode存储的资源,DataNode需要向所有的NameNode汇报
  • 属于同一个命名空间的块构成一个「块池

HDFS Federation的设计(图解)

在这里插入图片描述

HDFS Federation的访问模式

对于Federation联盟中的多个命名空间,采用客户端挂载表Client Side Mount Table)的方式——用户可以通过访问不同的挂载点来访问不同的子命名空间

在这里插入图片描述

HDFS Federation的优点

  • 扩展性」NameNode的数量不再局限于一个,从而一个集群可以扩展到更多的节点
  • 系统性能」多个NameNode同时对外提供服务,不再受限于一个NameNode的吞吐量
  • 隔离性」用户可以根据不同的业务,交由不同的命名空间,隔离性非常好

值得注意的是,HDFS Federation并没有解决单点故障的问题——单点故障是由HDFS HA负责解决的。
也就是说,虽然有了多个NameNode,但每一个NameNode仍存在单点故障问题——因此,我们要为每一个NameNode部署一个后备NameNode >_<!

 
 
 
 
 
 
 
 
 
 
 
 

− − E N D − − --END-- END


http://www.niftyadmin.cn/n/1330184.html

相关文章

欢迎使用CSDN-markdown编辑器~~~

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注…

Hadoop架构再探讨——MapReduce的设计改进(新一代资源管理调度框架YARN)

文章目录MapReduce 1.0的缺陷YARN设计思路YARN体系结构YARN部署YARN工作流程YARN与MapReduce1.0框架的对比YARN发展目标MapReduce 1.0的缺陷 ▍MapReduce 1.0体系结构&#xff08;复习&#xff09; JobTracker —— 监控TaskTracker的健康情况 跟踪任务的执行进度、资源使用等…

1013. 总持续时间可被 60 整除的歌曲

题目链接&#xff1a;https://leetcode-cn.com/contest/weekly-contest-128/problems/pairs-of-songs-with-total-durations-divisible-by-60/ 题集&#xff1a;https://blog.csdn.net/weixin_39778570/article/details/83187443 总持续时间可被 60 整除的歌曲 显示英文描述 用…

NB-IoT网络架构

NB-IoT独立组网 C-SGN: 由MME/SGW/PGW组成PGW可以独立实现 EUTRAN与NB-IoT融合组网 CIoT RAN仅支持NB-IoT功能eNodeB 既支持EUTRAN又支持NB-IoT

Hadoop架构再探讨——愈加繁荣的生态(Pig、Tez、Spark、Kafka)

文章目录Pig——化繁为简&#xff0c;摆脱复杂Map/Reduce程序的编写Tez——不破不立&#xff0c;Map/Reduce的再拆分与再组装Spark——电光火石&#xff0c;基于内存的实时计算Kafka——百川归海&#xff0c;生态系统的交通枢纽Pig——化繁为简&#xff0c;摆脱复杂Map/Reduce程…

数学等式

ACM题集&#xff1a;https://blog.csdn.net/weixin_39778570/article/details/83187443 题目链接&#xff1a;https://code.mi.com/problem/list/view?id142&cid9 a∗x13b∗x23c∗x33d∗x43e∗x53a*x1^3b*x2^3c*x3^3 d*x4^3e*x5^3a∗x13b∗x23c∗x33d∗x43e∗x53 的非0解…

NB-IoT关键技术与特点

拥塞和过载控制 在Rel11采用ACB&#xff08;Access Class Barring&#xff0c;接入等级限制&#xff09;与EAB&#xff08;Extended Access Barring&#xff0c;扩展型接入限制&#xff09;相结合的双层控制机制来应对突发海量接入拥塞问题&#xff0c;终端从系统广播信息之中获…

小爱密码2.0(斐波那契质数)

Fibonacci质数的定义&#xff1a; 若某Fibonacci数与任何比它小的Fibonacci数互质&#xff0c;那么它就是Fibonacci质数。 但是哪些的Fibonacci数才是Fibonacci质数呢&#xff1f;这里先给出结论&#xff1a; F(3)和F(4)是Fibonacci质数&#xff1b;从F(5)开始&#xff0c;某项…