`

Hadoop之大数据平台基础(1)

阅读更多

一、Hadoop是什么?

Hadoop是一个开源分布式平台,它使用HDFS文件系统(Hadoop Distributed File System)和MapReduce计算框架为核心。

HDFS是为了能够使用户使用连接的硬件平台就可以实现分布式系统,MapReduce能够是开发者在无需关心过多的底层计算框架逻辑而实现并发分布式。

 

二、Hapoop的作用

Hadoop是为了实现海量数据的处理,如雅虎使用作为Web搜索,广告系统;百度使用做搜索日志分析系统,网页数据挖掘;阿里用它存储海量交易数据;移动用它数据分析。

 

三、Hapoop的优势

1.高可靠性:正确无误的处理数据

2.高扩展性:任何计算机集群节点都可随时加入删除。

3.高效性:快速处理海量数据

4.高容错性:某个计算节点的错误不会影响最终结果。

 

四、Hadoop项目结构图

Hadoop项目:

架构:以Ambari作为Hadoop创建、管理和监控的web端管理工具,以Zookeeper作为项目协同服务和失效转移

failover服务。

高级程序设计语言:Pig和Hive,用于数据统计查询功能,Pig为ETL过程处理和数据模型,Hive分析型查询

Hadoop核心计算引擎:MapReduce底层处理算法

底层存储数据库:HBase高可靠性、高性能、面向列和可伸缩的分布式结构化数据库,Hcatalog元数据服务

HDFS:物理存储文件系统

 

五、hadoop体系结构

1.HDFS文件系统体系结构

HDFS使用Master/Slave主从结构模型,Namenode作为主服务器,用于管理系统的命名空间和客户端堆文件的访问操作,而Datanode管理存储的数据。一台主机器运行Namenode而其他从服务器分别运行一个Datanode

 

2.MapReduce计算架构体系

MapReduce本质是一个简单医用的并行变成框架,它同样采用主从模型,由一个单独运行的主节点JobTracker和N个运行的从节点TaskTracker共同组成。JobTracker用于管理和调度工作,TasjTracker用于具体的任务执行。

 1)执行流程:每次计算任务都可以分为两个阶段,Map阶段和Reduce阶段

  其中Map阶段接受一组键值队模式<key, value>的输入,并产生同样是键值队模式<key_m, value_m>的中间输出;Redeuce阶段负责处理接收Map产生的中间输出<key_m, value_m>,对这些结果进行处理并输出结果

sample:以最简单的WordCount统计文本中各个单词出现的次数,那么每个map任务负责提文本中所有单词并产生n个<word, 1>中间输出;而Reduce任务可以讲这些中间输出作出处理,转换成<word, n>最终输出。

在此过程中,Map产生的中间输出是直接存放在本地磁盘,job完成就会删除;Reduce产生的最终将诶过才会存放在HDFS。

 

 2)Hadoop流的工作原理

执行Map的应用程序会首先读取输入,并将其分成行后作为程序的standard in进行处理后,将每行第一个tab符前的内容作为key,之后的内容作为value,如果没有tab符,那么这一行中的所有内容都将作为key,value为空。

 

 3)MapReduce的数据流和控制流

 jobTracker(master)首先调度分配任务至Map,在MapPhase阶段,从inputFiles源文件中读取文件内容,每个worker读取并split拆分处理后,在本地作为中间物暂时存储(intermdediate files on local disk),通知master(jobTracker)完成map phase,后master启动Reduce phase,通过shuffle洗牌阶段规则,每个worker分配到不同数量的任务后,将运行结果写入OutPut Files

  <1>Master(JobTracker)负责分配日内无到下面的各个worker(TaskerTracker)

  <2>每个worker在执行的时候,总会按时返回进度报告和具体进度所处阶段,master记录管理进度

  <3>一旦出现worker失败,master将分派这些失败的任务给新的worder

 

六、WordCount单词统计程序

1.计算每个单词出现的频率。输出结果按照单词的字母顺序排序。

2.对该sample,我们按照原理可以看出:

 (1)Map阶段个节点完成由输入数据到单词拆分再到单词收集的工作,并自动排序

 (2)shuffle阶段完成相同单词的聚集,分发到各个Reduce节点woker(shuffle阶段是MapReduce的默认过程,在Map阶段完成后)

 (3)Reduce阶段负责接收统计单词

 

在默认情况下,shuffle阶段传递的中间键值队到Reduce阶段的每个worker,虽然在Map阶段默认排序了,但是 这样的默认排序也只是每个单独worker的节点内有序,整体redue全局仍然是无序的,要想保证整体reduce有序,必须重写分配Reduce节点算法逻辑:重写Partition方法:

  shuffle阶段之后分配reduce之前,将根据map中间输出键值队中的key来决定此键值队分配给那个Partition区间,即那个reduce的worker节点。当要求最后结果有序时候,只要分配reduce的决定Partition区间是按照有序的,

 

七、Map/Reduce执行流程

执行的总流程我们可以总结为:代码编写——>job配置——>作业提交——>Map任务分配和执行——>处理中间结果shuffle——>Reduce任务执行和分配——>ok.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Hadoop大数据开发基础.rar

    文档为PPT,与百度文库里的Hadoop大数据开发基础为一套,里面内容相对比较基础~可做基础学习资料PPT。 【实例截图】 【核心代码】 Hadoop大数据开发基础-PPT课件 └── 37066-Hadoop大数据开发基础-PPT课件 ├── ...

    基于Hadoop的大数据平台架构规划方案.docx

    在技术架构上,Hadoop作为大数据平台的基础,其HDFS提供分布式存储,而MapReduce则负责分布式计算。JobTracker和TaskTracker协调任务执行,确保高效的数据处理。随着技术的不断发展,Hadoop生态系统还在不断完善,为...

    hadoop大数据平台技术与应用 --课后习题参考答案.pdf

    根据给定文件的内容部分,我们可以提炼出以下几个知识点: 1. 大数据业务处理基本流程与关键技术 ...在实际的Hadoop学习和应用中,这些知识点是非常重要的基础,有助于理解和操作Hadoop集群以及处理大数据问题。

    Hadoop大数据开发基础_教案.rar

    《Hadoop大数据开发基础》教程主要涵盖了大数据处理领域中的核心框架——Hadoop的全面学习。这份教案详尽地讲解了从Hadoop的基本概念到实际项目应用的各个环节,旨在帮助初学者掌握Hadoop的大数据处理能力。 第一章...

    Hadoop大数据开发基础完整版ppt整本书教学教程最全电子教案(最新.pptx

    Hadoop大数据开发基础完整版ppt整本书教学教程最全电子教案(最新.pptx

    Hadoop大数据开发基础

    这份名为“Hadoop大数据开发基础”的PPT文档,旨在为初学者提供一个入门Hadoop的基础平台。 **一、Hadoop概述** 1. Hadoop的起源:Hadoop最初由Google的论文启发,用于解决大规模数据处理的问题。 2. Hadoop组件:...

    Hadoop大数据计算平台搭建实践.pdf

    在搭建Hadoop大数据计算平台的实践中,涉及到多个关键步骤,包括集群的硬件准备、软件准备、分布式部署方法、集群环境构建和测试验证等。 1. Hadoop简介 Hadoop作为大数据技术栈中不可或缺的部分,它能够有效地对...

    《Hadoop大数据开发实战》教学教案—01初识Hadoop.pdf

    《Hadoop大数据开发实战》教学教案—01初识Hadoop的内容...总之,《Hadoop大数据开发实战》的初识阶段,旨在为学生打下坚实的大数据基础,激发他们对这个领域的兴趣,并为后续深入学习和应用Hadoop及相关技术做好准备。

    Hadoop Spark大数据巨量分析与机器学习整合开发实战 ,林大贵

    首先,Hadoop是一个由Apache基金会开发的分布式系统基础架构。Hadoop框架最核心的设计是HDFS和MapReduce。HDFS(Hadoop Distributed File System)提供了高吞吐量的数据访问,适合那些有大量数据集的应用程序。...

    大数据平台基础架构指南 刘旭晖.zip

    《大数据平台基础架构指南》由刘旭晖撰写,是一本深入探讨大数据技术与架构的专业书籍。本书主要关注如何构建高效、稳定且可扩展的大数据处理系统,为读者提供了丰富的实践经验和理论知识。以下是对该书内容的详细...

    大数据平台技术实施与运维规范-Hadoop 分册.docx

    大数据平台技术实施与运维规范-Hadoop 分册提供了Hadoop的大数据平台技术实施和运维规范的详细指南,涵盖了Hadoop的基础知识、组件描述、系统环境配置、网络配置等方面的内容,为Hadoop的大数据平台技术实施和运维...

    Hadoop大数据开发基础-PPT课件.rar

    《Hadoop大数据开发基础》是一门深入浅出的教程,主要涵盖了Hadoop生态系统的基础知识以及MapReduce编程模型的高级应用。本课程旨在帮助初学者快速掌握大数据处理的核心技能,为今后的数据分析和挖掘打下坚实基础。 ...

    2012年Hadoop与大数据技术大会PPT资料

    1. **Hadoop概述**:可能包括Hadoop的起源、设计理念、生态系统及与其他大数据工具的关联。 2. **Hadoop架构**:详细解释HDFS如何存储数据,MapReduce如何进行分布式计算,以及YARN如何资源调度。 3. **Hadoop实际...

    Hadoop大数据开发基础-PPT课件

    【Hadoop大数据开发基础-PPT课件】是一个涵盖了Hadoop生态系统入门知识的教育资源,适合初学者和希望深入了解大数据处理技术的IT专业人士。本课件主要围绕Hadoop框架展开,包括其设计原理、核心组件以及实际应用。...

    hadoop大数据课程设计

    【标题】"hadoop大数据课程设计"涉及到的核心技术是Hadoop,这是一个开源的分布式计算框架,主要用于处理和存储海量数据。Hadoop的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,前者提供高容错...

    教案27 项目8 平台化快速部署Hadoop 第1部分 探寻大数据平台及基础环境配置.pdf

    教案27 项目8 平台化快速部署Hadoop 第1部分 探寻大数据平台及基础环境配置.pdf教案27 项目8 平台化快速部署Hadoop 第1部分 探寻大数据平台及基础环境配置.pdf教案27 项目8 平台化快速部署Hadoop 第1部分 探寻大数据...

    《Hadoop大数据开发基础》源数据和代码.rar

    《Hadoop大数据开发基础》是余明辉主编的一本针对初学者的大数据技术入门书籍,主要围绕Hadoop这一核心框架,深入浅出地讲解了大数据处理的基础知识和实践技巧。这本书的内容涵盖了大数据处理的基本概念、Hadoop生态...

    基于Hadoop的大数据应用分析.pptx

    Pig 是一个基于 Hadoop 的大规模数据分析平台,提供了一个简易的操作和编程接口。Chukwa 是基于 Hadoop 的集群监控系统,由 yahoo 贡献。Hive 是基于 Hadoop 的一个工具,提供完整的 sql 查询功能,可以将 sql 语句...

Global site tag (gtag.js) - Google Analytics