前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >hadoop需要哪些技术支持

hadoop需要哪些技术支持

原创
作者头像
用户3392176
修改于 2018-11-13 03:22:45
修改于 2018-11-13 03:22:45
7690
举报
文章被收录于专栏:hadoop学习hadoop学习

hadoop是一个开源软件框架,可安装在一个商用机器集群中,使机器可彼此通信并协同工作,以高度分布式的方式共同存储和处理大量数据。最初,Hadoop 包含以下两个主要组件:Hadoop Distributed File System (HDFS) 和一个分布式计算引擎,该引擎支持以 MapReduce 作业的形式实现和运行程序。

Hadoop 还提供了软件基础架构,以一系列 map 和 reduce 任务的形式运行 MapReduce 作业。Map 任务在输入数据的子集上调用map函数。在完成这些调用后,reduce任务开始在 map函数所生成的中间数据上调用reduce任务,生成最终的输出。map和reduce任务彼此单独运行,这支持并行和容错的计算。

最重要的是,Hadoop 基础架构负责处理分布式处理的所有复杂方面:并行化、调度、资源管理、机器间通信、软件和硬件故障处理,等等。得益于这种干净的抽象,实现处理数百(或者甚至数千)个机器上的数 TB 数据的分布式应用程序从未像现在这么容易过,甚至对于之前没有使用分布式系统的经验的开发人员也是如此。

map reduce 过程图

shuffle combine

整体的Shuffle过程包含以下几个部分:Map端Shuffle、Sort阶段、Reduce端Shuffle。即是说:Shuffle 过程横跨 map 和 reduce 两端,中间包含 sort 阶段,就是数据从 map task 输出到reduce task输入的这段过程。

sort、combine 是在 map 端的,combine 是提前的 reduce ,需要自己设置。

Hadoop 集群中,大部分 map task 与 reduce task 的执行是在不同的节点上。当然很多情况下 Reduce 执行时需要跨节点去拉取其它节点上的map task结果。如果集群正在运行的 job 有很多,那么 task 的正常执行对集群内部的网络资源消耗会很严重。而对于必要的网络资源消耗,最终的目的就是最大化地减少不必要的消耗。还有在节点内,相比于内存,磁盘 IO 对 job 完成时间的影响也是可观的。从最基本的要求来说,对于 MapReduce 的 job 性能调优的 Shuffle 过程,目标期望可以有:

完整地从map task端拉取数据到reduce 端。

在跨节点拉取数据时,尽可能地减少对带宽的不必要消耗。

减少磁盘IO对task执行的影响。

总体来讲这段Shuffle过程,能优化的地方主要在于减少拉取数据的量及尽量使用内存而不是磁盘。

YARN

ResourceManager 代替集群管理器

ApplicationMaster 代替一个专用且短暂的 JobTracker

NodeManager 代替 TaskTracker

一个分布式应用程序代替一个 MapReduce 作业

一个全局 ResourceManager 以主要后台进程的形式运行,它通常在专用机器上运行,在各种竞争的应用程序之间仲裁可用的集群资源。

在用户提交一个应用程序时,一个称为 ApplicationMaster 的轻量型进程实例会启动来协调应用程序内的所有任务的执行。这包括监视任务,重新启动失败的任务,推测性地运行缓慢的任务,以及计算应用程序计数器值的总和。有趣的是,ApplicationMaster 可在容器内运行任何类型的任务。

NodeManager 是 TaskTracker 的一种更加普通和高效的版本。没有固定数量的 map 和 reduce slots,NodeManager 拥有许多动态创建的资源容器。

大数据Hadoop开发厂商有Amazon Web Services、Cloudera、Hortonworks、IBM、MapR科技、华为和大快搜索。这些厂商都是基于Apache开源项目,然后增加打包、支持、集成等特性以及自己的创新等内容。

大快的大数据通用计算平台(DKH),已经集成相同版本号的开发框架的全部组件。如果在开源大数据框架上部署大快的开发框架,需要平台的组件支持如下:

数据源与SQL引擎:DK.Hadoop、spark、hive、sqoop、flume、kafka

数据采集:DK.hadoop

数据处理模块:DK.Hadoop、spark、storm、hive

机器学习和AI:DK.Hadoop、spark

NLP模块:上传服务器端JAR包,直接支持

搜索引擎模块:不独立发布 f 47 ��Q��>

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hadoop 面试,来看这篇就够了
原文链接 | http://www.jianshu.com/p/c97ff0ab5f49
数据和云
2018/07/27
5840
Hadoop 面试,来看这篇就够了
Hadoop的前世今生
HADOOP DISTRIBUTED FILE SYSTEM,简称HDFS,是一个分布式文件系统。它是谷歌的GFS提出之后出现的另外一种文件系统。它有一定高度的容错性,而且提供了高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS 提供了一个高度容错性和高吞吐量的海量数据存储解决方案。
week
2018/08/24
4370
Hadoop的前世今生
hadoop|计算框架从MapReduce1.0到Yarn
01 — HDFS 前面介绍了hadoop的分布式存储框架(HDFS),这个框架解决了大数据存储的问题,这是第一步。知道海量数据如何存储后,脚步不能停留,下一步要设计一个框架,用来玩(计算)这些数据时,资源(计算机集群)该如何调度,比如已知1PB的数据存储在了集群(1000台电脑组成)中的10台计算机(DataNode)中,现在要对这些数据进行Map和Reduce计算,该如何做呢? 在理解以下知识前,需要理解一些知识点。任何应用,比如打开一个word文档,打开QQ,都会占用一定的系统资源(CPU,内存,网
double
2018/04/02
1.5K0
hadoop|计算框架从MapReduce1.0到Yarn
大数据学习之路05——Hadoop原理与架构解析
Hadoop 是 Apache 开源组织的一个分布式计算开源框架,是一个可以更容易开发和运行处理大规模数据的解决方案,它提供了一套分布式系统基础架构,允许使用简单的编程模型跨大型计算机的大型数据集进行分布式处理。
汪志宾
2019/05/24
8.5K0
大数据学习之路05——Hadoop原理与架构解析
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day26】——Spark13
5)计算各分区时优先的位置列表(可选),比如从HDFS上的文件生成RDD时,RDD分区的位置优先选择数据所在的节点,这样可以避免数据移动带来的开销。
Maynor
2021/12/07
2570
大数据开发岗面试复习30天冲刺 - 日积月累,每日五题【Day26】——Spark13
Hadoop基础知识及部署模式
在开始Hadoop的部署之前需要了解其基础知识及部分原理,由于本文以部署的介绍为主,篇幅有限,因此只会对这部分内容作简单的阐述,后面有机会会撰写专门的Hadoop原理及基础系列文章。
数人之道
2022/01/07
13.1K0
Hadoop基础知识及部署模式
【Hadoop研究】YARN:下一代 Hadoop计算平台
Apache Hadoop 是最流行的大数据处理工具之一。它多年来被许多公司成功部署在生产中。尽管 Hadoop 被视为可靠的、可扩展的、富有成本效益的解决方案,但大型开发人员社区仍在不断改进它。最终,2.0 版提供了多项革命性功能,其中包括 Yet Another Resource Negotiator (YARN)、HDFS Federation 和一个高度可用的 NameNode,它使得 Hadoop 集群更加高效、强大和可靠。在本文中,将对 YARN 与 Hadoop 中的分布式处理层的以前版本进行
陆勤_数据人网
2018/02/27
1.2K0
【Hadoop研究】YARN:下一代 Hadoop计算平台
hadoop集群老的资源管理Mrv1与Yarn资源管理器的工作流程和对比
2、JobTracker负担重,既要负责资源管理,又要进行作业调度;当需处理太多任务时,会造成过多的资源消耗。
全栈程序员站长
2022/08/09
1K0
hadoop集群老的资源管理Mrv1与Yarn资源管理器的工作流程和对比
MapReduce分布式编程
MapReduce是一个分布式运算程序的编程框架,用于大规模数据集的并行处理,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 MapReduce将一个数据处理过程拆分为Map和Reduce两部分:Map是映射,负责数据的过滤分发;Reduce是规约,负责数据的计算归并。开发人员只需通过编写Map和Reduce函数,不需要考虑分布式计算框架内部的运行机制,即可在Hadoop集群上实现分布式运算。引入MapReduce框架后,开发人员可将精力集中在业务逻辑的开发上,分布式计算的复杂性交由框架来处理。MapReduce把对数据集的大规模操作分发到计算节点,计算节点会周期性地返回其工作的最新状态和结果。如果节点保持沉默超过一个预设时间,主节点则标记该节点为死亡状态,并把已分配给这个节点的数据发送到别的节点重新计算,从而实现数据处理任务的自动调度。
Francek Chen
2025/01/22
1480
MapReduce分布式编程
Hadoop Yarn初探
前言 经过多年的发展形成了Hadoop1.X生态系统,其结构如下图所示: 其mapReduce的结构如下: 从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路:
用户1665735
2018/06/20
1.1K0
11月大数据面试题复习
2 为什么要前后端分离开发?前后端分离开发的优势和劣势? 让专业的人做专业的事情 优势:分工明确,各司其职 劣质:前后端联调需要消耗比较多的时间
Maynor
2021/12/06
7630
分布式资源调度——YARN框架
YARN是Hadoop2.x才有的,所以在介绍YARN之前,我们先看一下MapReduce1.x时所存在的问题:
端碗吹水
2020/09/23
6120
分布式资源调度——YARN框架
Spark设计理念和基本架构
Spark是一个通用的并行计算框架,由加州伯克利大学(UC Berkeley) 的AMP实验室开发于2009年,并于2010年开源,2013年成长为Apache旗下在大数据领域最活跃的开源项目之一。 虽然Spark是一个通用的并行计算框架,但是Spark本质上也是一个基于map-reduce算法模型实现的分布式计算框架,Spark不仅拥有了Hadoop MapReduce的能力和优点,还解决了Hadoop MapReduce中的诸多性能缺陷。 HadoopMapReduce的问题与演进 早期的Hadoop
Spark学习技巧
2018/06/22
1.1K3
大数据面试杀招——Hadoop高频考点,正在刷新你的认知!
上一篇文章为大家总结了一些关于Hive的热门考点,得到了一些朋友的肯定与转发,菌菌就觉得花时间去做这些知识整合是非常有价值,有意义的一件事。本篇文章,让我们有幸一起来阅读一下,该怎么准备Hadoop的内容,才有机会在面试过程占据上风。
大数据梦想家
2021/01/27
7330
大数据面试杀招——Hadoop高频考点,正在刷新你的认知!
大数据开发面试之26个Spark高频考点
        大家好,我是梦想家Alex ~ 今天为大家带来大数据开发面试中,关于 Spark 的 28 个高频考点 。
大数据梦想家
2022/05/14
1K0
大数据开发面试之26个Spark高频考点
Hadoop(十四)MapReduce原理分析
前言   上一篇我们分析了一个MapReduce在执行中的一些细节问题,这一篇分享的是MapReduce并行处理的基本过程和原理。   Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架。   Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。 一、MapReduce并行处理的基本过程   首先要说明的是Hadoop2.0之前和Hadoop2.0之后的区别:      2.
用户1195962
2018/01/18
4.9K0
Hadoop(十四)MapReduce原理分析
Hadoop的概念
Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构,它可以使用户在不了解分布式底层细节的情況下开发分布式程序,充分利用集群的威力进行高速运算和存储。
我脱下短袖
2019/12/23
1.2K0
Hadoop的概念
Hadoop(十四)MapReduce原理分析
  上一篇我们分析了一个MapReduce在执行中的一些细节问题,这一篇分享的是MapReduce并行处理的基本过程和原理。
大道七哥
2019/09/10
8890
Hadoop(十四)MapReduce原理分析
【Hadoop研究】Hadoop YARN的发展史与详细解析
【编者按】成熟、通用让Hadoop深得大数据玩家喜爱,即使是在YARN出现之前,在流处理框架林立下,Hadoop仍然被众多机构广泛运用在离线处理之上。借鉴于Mesos,MapReduce获得新生,YARN提供了更加优秀的资源管理器,让Storm等流处理框架同样可以运行在Hadoop集群之上;但是别忘记,Hadoop有着远比Mesos成熟的社区。从兴起到唱衰再到兴起,这头搬运大数据的大象已更加成熟、稳重,同时我们也相信,在未来container等属性加入后,Hadoop生态系统必将发扬光大。以下为文章内容
陆勤_数据人网
2018/02/27
1.2K0
【Hadoop研究】Hadoop YARN的发展史与详细解析
Hadoop面试题[通俗易懂]
分布式:不同的业务模块部署在不同的服务器上或者同一个业务模块分拆多个子业务,部署在不同的服务器上,解决高并发的问题
全栈程序员站长
2022/09/07
5270
相关推荐
Hadoop 面试,来看这篇就够了
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档