大数据技术原理与应用学习笔记(八)
大数据技术原理与应用学习笔记(八)
- 本系列历史文章
- Hadoop再探讨
- Hadoop的优化与发展
- Hadoop1.0到Hadoop2.0
- 不断完善的Hadoop生态系统
- HDFS2.0新特性
- HDFS HA(高可用性)
- HDFS Federation
- YARN——新一代资源管理调度框架
- MapReduce1.0中的缺陷
- YARN设计思路
- YARN体系结构
- ResourceManager
- ApplicationMaster
- NodeManager
- YARN的工作流程
- 与MapReduce1.0的对比
- YARN的发展目标
- Hadoop生态系统中具有代表性的功能组件
- Pig
- Pig的概念与特点
- Pig的应用场景
- Tez
- Tez的概念与特点
- Spark和Kafka
- Spark
- Kafka
本系列历史文章
大数据技术原理与应用学习笔记(一)
大数据技术原理与应用学习笔记(二)
大数据技术原理与应用学习笔记(三)
大数据技术原理与应用学习笔记(四)
大数据技术原理与应用学习笔记(五)
大数据技术原理与应用学习笔记(六)
大数据技术原理与应用学习笔记(七)
Hadoop再探讨
Hadoop的优化与发展
在Hadoop1.0中仍存在很多不足:
- 抽象层次低,需人工编码
- 表达能力有限
- 开发着自己管理Job间的依赖关系
- 难以看到程序的整体逻辑
- 执行迭代效率低
- 资源浪费
- 实时性差
采取的改进措施如下: - 改进自身的核心组件(MapReduce和HDFS)
- 其他组件的不断丰富(Pig、Tez、Spark、Kafka)
Hadoop1.0到Hadoop2.0
Hadoop更新到2.0后,以下方面做出了很大更新:
HDFS:
- 由原来的单一名称节点(存在单点失效问题),增添设计了HDFS HA,提供名称节点热备份机制;
- 由原来的单一命名空间(存在无法实现资源管理),增添设计了HDFS Federation来管理多个命名空间。
MapReduce: - 由原来的资源管理效率低,增添设计了管理框架YARN。
不断完善的Hadoop生态系统
在Hadoop的优化和发展中,越来越多的组件被包含在Hadoop生态系统中,使得Hadoop平台的性能提升许多。
组件 | 功能 |
---|---|
Pig | 处理大规模数据的脚本语言,用户只需编写几条语句,系统会自动转换为MapReduce作业(可用来解决需人工编码的不足) |
Spark | 基于内存的分布式并行编程框架,具有较高的实时性,并且较好的支持迭代计算(可用来解决迭代效率低的不足) |
Oozie | 工作流和协作服务引擎,协调Hadoop上运行的不同任务(解决开发者自己管理Job间依赖关系的不足) |
Tez | 支持DAG作业的计算,对作业的操作进行重新分解和组合,形成DAG作业,减少不必要的操作(解决重复操作的不足) |
Kafka | 分布式发布订阅消息系统,一般作为企业大数据分析平台的数据交换枢纽,不同类型的分布式系统可以接入到Kafka,实现和Hadoop各组件之间不同类型数据的实时高效交换(解决了Hadoop组件和其他产品间缺乏统一、搞笑的数据交换中介) |
HDFS2.0新特性
HDFS HA(高可用性)
HDFS HA(High Availability)是为了解决单点故障问题。HA集群设置两个名称节点,“活跃(Active)”和“待命(Standby)”。两种名称节点的状态同步,可以借助于一个共享存储系统来实现。一旦活跃名称节点出现故障,就可以立即切换到待命名称节点。Zookeeper确保一个名称节点在对外服务。名称节点维护映射信息,数据节点同时向两个名称节点汇报信息。
HDFS Federation
在Hadoop1.0中,仍然存在以下问题:
- 不可水平扩展;
- 单点故障(由HDFS HA解决);
- 系统整体性能受单个名称节点吞吐量限制;
- 单个名称节点难以提供不同程序间隔离性。
由此设计出了HDFS Federation,其设计了多个相互独立的名称节点,使HDFS命名空间可以横向扩展,不是真正的分布式设计,但远低于分布式设计的复杂性等。
所有名称节点共享底层数据节点的存储资源,拥有多个独立命名空间管理属于自己的一组块(块池)。
采取客户端挂载表访问
比Hadoop1.0的优势:
- HDFS集群可扩展性
- 系统整体性能高
- 良好的隔离性
YARN——新一代资源管理调度框架
MapReduce1.0中的缺陷
- 存在单点故障
- JobTracker“大包大揽”任务过重
- 容易出现内存溢出
- 资源划分不合理
YARN设计思路
将原来的JobTracker拆分(原Master端)
- 资源管理→ResourceManager
- 任务调度→ApplicationMaster
- 任务监控→ApplicationMaster
YARN体系结构
ResourceManager
- 处理客户端请求
- 启动、监控ApplicationMaster
- 资源分配与调度
- 监控NodeManager
ApplicationMaster
- 为应用程序申请资源,并分配给内部任务
- 任务监控、调度与容错
NodeManager
- 单个节点上的资源管理
- 处理来自ResourceManager的命令
- 处理来自ApplicationMaster的命令
YARN的工作流程
- 首先由用户编写客户端应用程序,向YARN提交;
- YARN中,ResourceManager 负责接受和处理来自客户端的请求,为其分配一个容器,并在其中启动一个ApplicationMaster;
- 启动后,向ResourceManager注册;
- ApplicationMaster轮询向ResourceManager申请资源;
- ResourceManager以“容器”形式向ApplicationMaster申请资源;
- 在容器中启动任务(二次分配后)
- 各任务向ApplicationMaster汇报自己的状态和进度;
- 运行完成后ApplicationMaster向ResourceManager的应用程序管理器注销并关闭自己。
与MapReduce1.0的对比
优势:
- YARN减少了中心服务功能ResourceManager的资源消耗
- YARN是纯粹的资源调度管理框架
- YARN中的资源管理比MapReduce1.0更加高效
YARN的发展目标
实现 “一个集群,多个框架” 。
Hadoop生态系统中具有代表性的功能组件
Pig
Pig的概念与特点
- 提供了类似SQL的Pig Latin语言,允许用户通过编写简单的脚本来实现复杂的数据分析,而不需要编写复杂的MapReduce应用程序
- Pig会自动把用户编写的脚本转换成MapReduce作业在Hadoop集群上运行,而且具备对生成的MapReduce程序进行自动优化的功能(用户在编写Pig程序的时候,不需要关心程序的运行效率,这就大大减少了用户编程时间)
- 通过配合使用Pig和Hadoop,在处理海量数据时就可以实现事半功倍的效果,比使用Java、C++等语言编写MapReduce程序的难度要小很多,并且用更少的代码量实现了相同的数据处理分析功能
Pig的应用场景
- 数据查询只面向相关技术人员
- 即时性的数据处理需求,这样可以通过pig很快写一个脚本开始运行处理,而不需要创建表等相关的事先准备工作
Tez
Tez的概念与特点
- Tez是Apache开源的支持DAG作业的计算框架,它直接源于MapReduce框架
- 核心思想是将Map和Reduce两个操作进一步拆分(Map被拆分成Input、Processor、Sort、Merge和Output) Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等
- 分解后的元操作可以任意灵活组合,产生新的操作。这些操作经过一些控制程序组装后,可形成一个大的DAG作业
- 通过DAG作业的方式运行MapReduce作业,提供了程序运行的整体处理逻辑,就可以去除工作流当中多余的Map阶段,减少不必要的操作,提升数据处理的性能
Spark和Kafka
Spark
Spark最初诞生于伯克利大学的APM实验室,是一个可应用于大规模数据处理的快速、通用引擎,如今是Apache软件基金会下的顶级开源项目之一。Spark在借鉴Hadoop MapReduce优点的同时,很好地解决了MapReduce所面临的问题。Spark最大的特点是内存计算,带来了更高的迭代运算效率
其基于DAG的任务调度执行机制,优于MapReduce的迭代执行机制。所以当前,Spark正以其结构一体化、功能多元化的优势,逐渐成为当今大数据领域最热门的大数据计算平台。关于Spark后面的学习笔记还会提到。
Kafka
Kafka是一种高吞吐量的分布式发布订阅消息系统,用户通过Kafka系统可以发布大量的消息,同时也能实时订阅消费消息。Kafka可以同时满足在线实时处理和批量离线处理。
大数据技术原理与应用学习笔记(八)相关推荐
- 《大数据技术原理与应用》笔记
一.大数据概述 大数据的特征(4V): 1.Volume,数据量大 2.Variety,数据类型多 大数据由结构化和非结构化数据组成: 10%的结构化数据,存储在数据库中: 90%的非结构化数据,与人 ...
- 关于大数据技术原理与应用的学习(6)
学习目标: 大数据技术原理与应用 学习内容: 6云数据库 6.1概述 6.2产品 6.3UMP系统 6.4Amazon云数据库 6.5微软云数据库SQL Azure 学习时间: 2022/03/31 ...
- 关于大数据技术原理与应用的学习(1)
学习目标: 大数据技术原理与应用 学习内容: 大数据概述 1.1大数据时代 1.2大数据的概念和影响 1.3大数据的应用 1.4大数据的关键技术 1.5大数据与云计算.物联网的关系 学习时间: 202 ...
- 关于大数据技术原理与应用的学习(4)
学习目标: 大数据技术原理与应用 学习内容: 分布式数据库HBase 4.1HBase简介 4.2HBase数据模型 4.3HBase实现原理 4.4HBase运行机制 4.5HBase应用方案 4. ...
- 关于大数据技术原理与应用的学习(3)
学习目标: 大数据技术原理与应用 学习内容: 分布式文件系统HDFS 3.1HDFS简介 3.2HDFS相关概念 3.3HTFS体系结构 3.4HTFS存储元原理 3.5HDFS数据读写 3.6HDF ...
- 关于大数据技术原理与应用的学习(5)
学习目标: 大数据技术原理与应用 学习内容: 5.NoSQL数据库 例如: 5.1NoSQL数据库 5.2与关系数据库的比较 5.3四大类型 5.4理论基石 5.5从NoSQL到NewSQL 5.6文 ...
- 大数据第二阶段Python基础编程学习笔记(待完善)
大数据第二阶段Python基础编程学习笔记(待完善) 第一章 Python基础语法 3.8 1-1Python概述 python基础部分: ●Python基础语法: 标识符,关键字,变量,判断循环.. ...
- [渝粤教育] 厦门大学 大数据技术原理与应用 参考 资料
教育 -大数据技术原理与应用-章节资料考试资料-厦门大学[] 第1章 大数据概述 单元测验 1.[单选题]第三次信息化浪潮的标志是: A.个人电脑的普及 B.互联网的普及 C.云计算.大数据.物联网技 ...
- 大数据技术原理与应用课后题(林子雨)
大数据技术原理与应用(林子雨) 第1章 大数据概述 1单选(2分) 第三次信息化浪潮的标志是: A.个人电脑的普及 B.云计算.大数据.物联网技术的普及 C.虚拟现实技术的普及 D.互联网的普及 正确 ...
- 大数据技术原理与应用 第一篇 大数据基础
目录 第一章 大数据概述 一. 大数据时代 1.1 三次信息化浪潮 1.2 信息科技发展 1.3 数据产生方式的变革 1.4 大数据的影响 二. 大数据的概念 2.1 大数据的特征 2.2 大数据关键 ...
最新文章
- YOLOV4各个创新功能模块技术分析(一)
- hdu-5778 abs(暴力枚举)
- 如何使用ModelSim作前仿真與後仿真? (真oo无双前辈)
- Lambda表达式介绍
- Uncaught TypeError: Cannot read property 'style' of null
- 何时使用[self release]
- 树的合并(ybtoj-树上dp)
- 2015年《大数据》读者意见调查问卷
- python中索引和下标_Series下标索引、标签索引、切片索引、布尔索引
- oracle中的中文排序,Oracle中的中文排序方式
- python语言基础笔记_Python语言 基础知识笔记
- 螃蟹保存方法保存时间_蜂巢蜜应该怎么保存,蜂巢蜜怎么保存的时间更长
- mapgis二次开发教程
- Html监听Fbx文件加载,一些three.js的基础——加载FBX模型
- iPhone屏幕尺寸(包含7p)
- 软件测试架构师——众里寻她千百度
- 用Android和node.js实现扫码登录
- 多元函数牛顿法求函数极小值
- spring学习-4-事务
- 多个点坐标存储在str中,如何转换成LineString?
热门文章
- unity shader可视化工具——Shader Graph
- 靠政府补贴实现华丽财报的科大讯飞,它背后蕴含着怎样的生机
- 浏览器插件开发--获取淘宝的品牌类型
- 番茄花园xp开机音乐_抱歉,Windows XP的开机音乐骗了你20年
- 计算机制作ppt教程,电脑制作ppt详细步骤_新手制作ppt详细步骤图文教程
- LoadRunner11下载、安装与破解
- 虚拟偶像出道,技术「造星」推动下的粉丝经济
- 百度网盘偷偷更新,终于实现免费不限速了!
- 手机测试耳机音质的软件,10首曲目,测试出你耳机的真实水平!——教你简单快速测出你的耳机音质究竟怎么样?...
- 七段式svpwm和5段式的区别_SVPWM实现概述