版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hadoop介绍大数据时代下,针对大数据处理的新技术也在不断地开发和运用中,并逐渐成为数据处理挖掘行业广泛使用的主流技术之一。在大数据时代,Hadoop作为处理大数据的分布式存储和计算框架,在国内外大、中、小型企业中已得到了广泛应用。学习Hadoop技术是从事大数据行业工作必不可少的一步。本章将主要介绍Hadoop分布式框架的理论知识。首先介绍Hadoop框架及其发展历史、特点,并重点讲解Hadoop的3大核心组件HDFS、YARN和MapReduce。接着对Hadoop生态系统中的组件进行简单的介绍,包括组件的特点和应用。最后简要介绍Hadoop的应用场景。任务背景1了解Hadoop核心组件目录认识Hadoop框架2了解Hadoop生态系统3了解Hadoop应用场景4在使用Hadoop的核心组件之前,首先需要对Hadoop框架的理论知识有一定的了解。本小节的任务是了解Hadoop框架及其发展历史、特点,带领读者走进Hadoop。任务描述Hadoop由Apache基金会开发,、、、
的分布式系统基础架构或框架。什么是Hadoop开源的用于分布式计算可靠的可扩展的什么是HadoopHadoop分布式文件系统HDFS分布式计算框架MapReduceHadoop框架核心可扩展、高容错、高性能的分布式文件系统负责数据的分布式存储和备份Map(映射)Reduce(规约)了解Hadoop发展历史了解Hadoop的特点高可靠性高效性高容错性低成本可构建在廉价机器上Hadoop基本框架用Java语言编写高扩展性1了解Hadoop核心组件目录认识Hadoop框架2了解Hadoop生态系统3了解Hadoop应用场景4Hadoop有3大核心组件,分别是分布式文件系统HDFS、分布式计算框架MapReduce和集群资源管理器YARN。本小节的任务是介绍Hadooop的3大核心组件,了解不同核心组件的架构和工作原理,为后续深入学习Hadoop奠定基础。任务描述HDFS是以分布式进行存储的文件系统,主要负责集群数据的存储与读取。HDFS是一个主/从(Master/Slave)体系架构的分布式文件系统。HDFS架构如图所示。了解分布式文件系统——HDFS1.HDFS简介及架构NameNodeNameNode用于存储元数据以及处理客户端发出的请求。在NameNode中存放元信息的文件是fsimage文件。Secondary
NameNodeSecondary
NameNode用于备份NameNode的数据。DataNodeDataNode是真正存储数据的地方。了解分布式文件系统——HDFSHDFS文件系统主要包含一个NameNode、一个Secondary
NameNode和多个DataNode。HDFS作为一个分分布式系统可以划分成多个子系统或模块,各自运行在不同的机器上,子系统或模块之间通过网络通信进行协作,实现最终的整体功能。利用多个节点共同协作完成一项或多项具体业务功能的系统即为分布式系统。分布式文件系统,主要体现在3个方面。了解分布式文件系统——HDFS2.分布式原理HDFS并不是一个单机文件系统,而是分布在多个集群节点上的文件系统。数据从多个节点读取。当存储文件时文件的数据将分布在多个节点上。数据存储在文件系统中,如果某个节点宕机了,那么很容易造成数据流失。了解分布式文件系统——HDFS3.宕机处理保护措施冗余备份副本存放宕机处理了解分布式文件系统——HDFS冗余备份副本存放在数据存储的过程中,对每个数据块都进行了副本备份,副本个数可以自行设置。目前使用的策略是,以存放3个副本(dfs.replication=3)为例,在同一机器的两个节点上各备份一个副本,再在另一台机器的某个节点上存放一个副本,前者可防止当该机器的某个节点宕机使可恢复数据,后者则防止当某个机器宕机时可恢复数据。了解分布式文件系统——HDFS宕机处理①如果NameNode在预定的时间内没有收到心跳信息(默认是10min),将该DataNode从集群中移除。②当HDFS读取某个数据块时,如果正好存储该数据块的某个节点宕机了,那么客户端将会在存储该数据块的其他节点上读取数据块信息。③当HDFS存储数据时,如果需要存放数据的节点宕机,那么HDFS将再重新分配一个节点给该数据块,并备份宕机节点中的数据。高容错性HDFS上传的数据自动保存多个副本,通过增加副本的数量增加HDFS的容错性。如果某一个副本丢失,那么HDFS将复制其他节点上的副本。适合大规模数据的处理HDFS能够处理上百万的GB、TB甚至PB级别的数据,数量非常大。流式数据访问HDFS以流式数据访问模式存储超大文件,有着“一次写入,多次读取”的特点,文件一旦写入,不能修改,只能增加,以保证数据的一致性。了解分布式文件系统——HDFS4.HDFS特点HDFS的优点不适合低延迟数据访问无法高效存储大量小文件不支持多用户写入及任意修改文件了解分布式文件系统——HDFS4.HDFS特点HDFS的缺点MapReduce是Hadoop的核心计算框架,是用于大规模数据集(大于1TB)并行运算的编程模型,主要包括Map(映射)和Reduce(规约)两个阶段。MapReduce的核心思想是,当启动一个MapReduce任务时,Map端将会读取HDFS上的数据,将数据映射成所需要的键值对类型并传至Reduce端。Reduce端接收Map端键值对类型的中间数据,并根据不同键进行分组,对每一组键相同的数据进行处理,得到新的键值对并输出至HDFS。了解分布式计算框架——MapReduce1.MapReduce简介一个完整的MapReduce过程包含数据的输入与分片、Map阶段数据处理、Shuffle&Sort阶段数据整合、Reduce阶段数据处理、数据输出等阶段。了解分布式计算框架——MapReduce2.MapReduce工作原理了解分布式文件系统——HDFS读取输入数据Map阶段从HDFS分布式文件系统中读取的,根据所设置的分片大小对文件重新分片(Split)。数据将以键值对的形式被读入,键的值一般为每行首字符与文件最初始位置的偏移量,即中间所隔字符个数,值为该行的数据记录。根据具体的需求对键值对进行处理,映射成新的键值对,将新的键值对传输至Reduce端。了解分布式文件系统——HDFSShuffle&Sort阶段Reduce阶段将同一个Map中输出的键相同的数据先进行整合,减少传输的数据量,并且在整合后将数据按照键进行排序。针对所有键相同的数据,对数据进行规约,形成新的键值对。了解分布式文件系统——HDFS输出阶段将数据文件输出至HDFS,输出的文件个数和Reduce的个数一致,如果只有一个Reduce,那么输出的只有一个数据文件,默认命名为“part-r-00000”。MapReduce的本质将一组键值对<K1,V1>经过Map阶段映射成新的键值对<K2,V2>,接着经过Shuffle/Sort阶段进行排序和整合,最后经过Reduce阶段,将整合后的键值对组进行规约处理,输出新的键值对<K3,V3>。了解分布式计算框架——MapReduceMapReduce映射实例了解分布式计算框架——MapReduceYARN是Hadoop的资源管理器,提交应用至YARN上执行可以提高资源在集群的利用率,加快执行速率。HadoopYARN的目的是使得Hadoop数据处理能力超越MapReduce。YARN的另一个目标就是拓展Hadoop,使得YARN不仅可以支持MapReduce计算,而且还可以很方便地管理如Hive、HBase、Pig、Spark/Shark等组件的应用程序。了解集群资源管理器——YARN1.YARN简介YARN的基本组成结构YARN主要由ResourceManager、NodeManager、ApplicationMaster和ClientApplication这4部分构成。了解集群资源管理器——YARN2.YARN的基本架构和任务流程了解分布式文件系统——HDFSResourceManager(RM)NodeManager(NM)一个全局的资源管理器,负责整个系统的资源管理和分配,ResourceManager主要由两个组件构成,即调度器(Scheduler)和应用程序管理器(ApplicationsManager,ASM)。每个节点上的资源和任务管理器。一方面,会定时地向RM汇报本节点上的资源使用情况和各个Container的运行状态;另一方面,将接收并处理来自ApplicationMaster的Container启动或停止等各种请求。了解分布式文件系统——HDFSApplicationMaster(AM)ClientApplication与ResourceManager调度器协商以获取资源(用Container表示)。将得到的任务进行进一步的分配。与NodeManager通信以启动或停止任务。监控所有任务运行状态,并在任务运行失败时重新为任务申请资源并重启任务。ClientApplication是客户端应用程序,客户端将应用程序提交到RM时,首先将创建一个Application上下文件对象,再设置AM必需的资源请求信息,最后提交至RM。YARN的工作流程了解集群资源管理器——YARN1了解Hadoop核心组件目录认识Hadoop框架2了解Hadoop生态系统3了解Hadoop应用场景4Hadoop经过多年的发展,已经形成了一个相当成熟的生态系统。现代生活节奏快速,各行各业无时无刻产生着大量的数据,Hadoop也应用于各种行业中,发挥着重要的作用。因为不同的需求,所以还需要在Hadoop的基础上进行一些改进和优化,也因此产生了许多围绕Hadoop展开的工具,逐渐地演变成一个庞大的Hadoop生态系统。本小节的任务是了解Hadoop的生态系统,着重了解几个生态系统的组件,如HBase、Hive和Sqoop等。任务描述Hadoop生态系统中组件LOGOHadoop生态系统HBaseHadoop生态系统简介HBase是一个针对非结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。提供了对大规模数据的随机、实时读写访问。保存的数据可以使用MapReduce进行处理。将数据存储和并行计算很好地结合在一起。应用场景大数据量(TB级数据)且有快速随机访问的需求,如淘宝交易记录等;及时响应用户的需求;业务场景简单,不需要关系型数据库中的很多特殊操作,如交叉查询、连接查询等。HiveHadoop生态系统简介Hive是建立在Hadoop上的数据仓库基础构架。提供了一系列的工具,可存储、查询和分析存储在Hadoop中的大规模数据。定义了一种类SQL语言为HQL(HiveQueryLanguage),HQL语句在Hive的底层将被转换为复杂的MapReduce程序,运行在Hadoop大数据平台上。应用场景大数据集的批处理作业,如网络日志分析。PigHadoop生态系统简介Pig是一个基于Hadoop的大规模数据分析框架。提供的类SQL语言为PigLatin。PigLatin语言的编译器会将类SQL的数据分析请求转换成一系列经过优化处理的MapReduce程序进行计算。支持的数据格式非常灵活,可以自由转化,并且在运算过程中用关系进行存储,减少了文件的输出。应用场景对数据存储的要求较低,适用于非结构化的数据集,支持复合数据类型,如Map、Tuple、Bag等;支持常见的数据操作,如筛选、排序和连接;适用于日志数据的处理。雅虎和推特均采用了Pig处理数据。SqoopHadoop生态系统简介Sqoop是一款开源的工具。主要用于在Hadoop与关系型数据库(如MySQL、PostgreSQL等)之间传输数据,可以将一个关系型数据库中的数据导入至Hadoop的HDFS中,也可以将HDFS的数据导出至关系型数据库中。应用场景对于结构化数据库,采用Sqoop进行数据传输是合适的,可以实现结构化数据库中的数据并行批量入库至HDFS进行存储。FlumeHadoop生态系统简介Flume是Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输系统。支持在日志系统中定制各类数据发送方,用于收集数据。可以对数据进行简单处理,并传输至各种数据接收方。应用场景日志文件的采集。OozieHadoop生态系统简介Oozie是基于Hadoop的调度器,编写xml格式的文件制定调度流程,可以调度MapReduce、Pig、Hive、Shell等任务。当一个工作任务中需要调用几个任务时,一个任务完成再启动另一个是比较麻烦的,在这种情况下即可使用Oozie将任务串联,通过Oozie调动整个任务进程。ZooKeeperHadoop生态系统简介ZooKeeper可解决分布式环境下的数据管理问题,如统一命名、状态同步、集群管理、配置同步等。ZooKeeper的使用主要是为了保证集群各项功能正常进行,并在出现异常时能够及时通知处理,保持数据一致性,是对整个集群的监控。MahoutHadoop生态系统简介Mahout的主要目标是创建一些可扩展的机器学习领域经典算法,旨在帮助开发人员更加方便快捷地创建智能应用程序。现已包含了聚类、分类、推荐(协同过滤)和关联规则等广泛使用的机器学习算法。除了算法外,Mahout还包含数据输入和输出的工具、与其他存储工具(如MySQL、MongoDB等)集成等支持架构。应用场景通过提供机器学习算法包使得用户在使用的过程中能够直接通过调用算法包缩短编程时间,同时也减少用户复杂的算法程序对资源的消耗。1了解Hadoop核心组件目录认识Hadoop框架2了解Hadoop生态系统3了解Hadoop应用场景4在大数据背景下,ApacheHadoop作为一种分布式存储和计算框架,已经被广泛应用到各行各业,业界对于Hadoop这一开源分布式技术的应用也在不断地拓展中。本小节的任务是了解Hadoop的应用场景,让读者深刻地了解到Hadoop在实际生活中的应用。任务描述Hadoop应用场景在线旅游移动数据目前全球范围内大多数在线旅游网站都使用了Cloudera公司提供的Hadoop发行版,Expedia作为全球最大的在线旅游公司之一也在使用Hadoop。在国内目前比较受欢迎的一些旅游网站如携程、去哪儿网等也采用了大数据技术存储和计算。中国移动于2010年5月正式推出大云BigCloud1.0,集群节点达到了1024个。华为对Hadoop的HA方案及HBase领域也有深入研究,并已经向业界推出了自己的基于Hadoop的大数据解决方案。Hadoop应用场景电子商务能源开采阿里巴巴的Hadoop集群拥有150个用户组、4500个集群用户,为淘宝、天猫、一淘、聚划算、CBU、支付宝提供底层的基础计算和存储服务。Chevron公司是一家大型石油公司,该公司利用Hadoop进行数据的收集和处理,数据主要指海洋的地震数据,以便于找到油矿的位置。Hadoop应用场景图像处理诈骗检测SkyboxImaging创业公司使用Hadoop存储并处理图片数据,从卫星拍摄的高清图像中探测地理变化。自2008年4月起,CbIR(Content-basedImageRetrieval)公司在亚马逊的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年危旧房改造自主更新原拆原建模式操作手册
- 游戏产业发展报告:机遇、挑战与创新路径
- 中国新能源产业人才需求与发展趋势分析
- 城市规划与可持续发展实践案例研究
- 创业者:商业计划书制作与融资策略
- 数据分析师技能提升手册
- 微课在教育教学中的应用价值及其开发模式研究
- 中医的食补法在慢性疾病调理中的重要性
- 国际经济形势下的企业对外投资决策分析
- 机器学习在人工智能领域的应用案例
- 2026河北衡水恒通热力有限责任公司公开招聘工作人员28名考试参考题库及答案解析
- 小区道路及室外管网配套工程施工设计方案
- 网吧的安全保卫制度
- 2026届高三高效学习方法与备考策略
- 2026广东中山市民政局招聘雇员2人考试参考试题及答案解析
- 2026年六安职业技术学院单招职业适应性考试题库含答案详解(综合题)
- ISO 14067-2018 温室气体产品的碳足迹量化要求和指南培训课件
- 华南地区地理知识
- 危险化学品安全法解读
- 广东省佛山市南海区2025-2026学年上学期期末八年级数学试卷(含答案)
- 石油天然气科普
评论
0/150
提交评论