一、大数据离线部分总结
1、HDFS
- HDFS的架构部分以及工作原理
- NameNode:负责管理元数据,将信息保存在内存中
- DataNode:保存数据,以块的形式保存,启动后需要定时的向NameNode发送心跳,报告自身存储的Block块信息。
- SecondNameNode:二级节点,负责合并请求。分担NameNode工作。
2、Spark容错机制
分布式数据集的容错性有2种方式:数据检查和记录数据的更新。
面向大规模数据分析,数据检查点操作成本很高,需要通过数据中心的网络连接在机器之前复制庞大的数据集,而网络带宽往往比内存带宽低很多,同事还需要消耗更多的存储资源。
3、YARN的总结
YARN(Yet Another Resource Negotiator):另一种资源协调者。
3.1、使用YARN的背景
旧版本MapReduce中的JobTracker/TaskTracker在可扩展性、内存消耗、可靠性和线程模型方面存在很多问题,需要开发者做很多调整来修复。后来Hadoop开发者对这些问题进行了修复,可是也因而带来的成本却越来越高,为了从根本上解决旧版本的MapReduce存在的问题,从Hadoop 0.23.0版本开始,Hadoop的MapReduce框架就大改动。Hadoop新的MapReduce框架被叫做MapReduce V2,也叫YARN。
3.2、为什么要使用YARN
与旧版本的MapReduce比较,YARN采用了一种分层的集群框架。
- 解决了NameNode的单点故障问题,可以通过配置NameNode高可用来解决
- 提出了HDFS联邦,通过HDFS联邦可以让多个NameNode分别管理不同的目录,从而实现访问隔离以及横向扩展。
- 将资源管理和应用程序管理ApplicationManager分离开。用ResourceManager管理资源,用ApplicationMaster负责管理程序。(YARN的核心思想)
- 具有向后兼容特点,运行在MR1上的Job不需要做任何修改就可以运行在YARN上。
- YARN是一个框架管理器,用户可以将各种计算框架移植到YARN上,统一由YARNJ进行管理和资源调度。目前YARN支持的计算框架有:MapReduce,Storm,Spark,Flink等。
3.2、YARN的基本架构
YARN的核心思想:将功能分开,ResourceManager进程完成整个集群的资源管理和调度。ApplicationMaster进程负责应用程序的相关事务,比如任务调度,容错,任务监控等。
- 系统中所有应用资源调度的最终决定权是ResourceManager担当的。
- 每个应用的ApplicationMaster实际上是框架指定的库,它从ResourceManager调度资源,和Node Manager一块执行监控任务。
- NodeManager通过心跳信息向ResourceManager汇报自己所在节点的资源使用情况。
在旧版本的MapReduce(MR1)中,JobTracker有2个功能:一个是资源管理,另一个是作业调度。
- 本文作者: Victor Dan
- 本文链接: https://anonymousdq.github.io/victor.github.io/2019/11/01/一、大数据离线部分总结/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!