版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Hadoop总体概述演示文稿现在是1页\一共有35页\编辑于星期日大数据入门
以前有个国王很阔绰也很爱排场,有天他很高兴想奖赏他的宠臣,这个大臣给国王看下面这个棋盘,8*8的方格,希望获得在每个标号的格子内放米粒,第一个格子放1粒米,后面的格子总是前面格子的两倍的所有米粒。如果把整个棋盘放满,需要多少米粒?我们学过级数的话,它的推演是1+2+4…+2^63=2^64-1这个数字多大很多人没印象,反正如果真的要兑现的话,这个国家肯定是破产了其实把这个棋盘分成上下两半,在上一半总共需要的米粒是2^32,这并不是个很大的数,其实前几年计算机的32位就是那么大,但下半场就完全不一样了,这是个平方级别的scale现在是2页\一共有35页\编辑于星期日什么是大数据:什么样的东西能成为数据呢?电子商务方面:淘宝,美团,京东买东西,你的IP地址,商品名,价格,快递名,手机号,收货地址,下单的时间日期等这些就是数据工业方面:钢铁厂的日,月,年产量;销量;省,市,县销量等这些也是数据...现在是3页\一共有35页\编辑于星期日本章要点一、hadoop总体概述二、hadoop生态系统三、hadoop特点及工作机制四、hadoop任务(job)运行过程五、核心进程讲解六、hadoop配置文件现在是4页\一共有35页\编辑于星期日Hadoop总体概述
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem)简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streamingaccess)文件系统中的数据Hadoop框架核心设计HDFS和MapReduce:HDFS为海量的数据提供分布式存储MapReduce为海量的数据提供分布式计算现在是5页\一共有35页\编辑于星期日什么是分布式文件系统:HDFS最简单的理解如上图,多台服务器(三台也行,两万台也可以)构成的一个集群系统对外无论是读操作还是写操作都仅有主节点这一个出入口对内若干个服务器之间会自动完成文件的多机复制,自动迁移,数据文件读写等操作,前期,你们就理解这样这个工作机制就行HDFS是可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用,它运行于廉价的普通硬件上,提供容错功能现在是6页\一共有35页\编辑于星期日分布式计算mapreduce简单介绍:形象化例子1:
1、校长对一位老师说,批改一万份卷子(必须上午改完)
2、老师叫了100个学生,老师和这100个学生组成一个团队(集群),老师指定将卷子分给这100个学生,让他们完成,然后汇总,老师不改只管分配例子2:现在是7页\一共有35页\编辑于星期日Hadoop生态系统现在是8页\一共有35页\编辑于星期日Hadoop生态系统概况:ApacheHive:数据仓库基础设施,提供数据汇总和特定查询。这个系统支持用户进行有效的查询,并实时得到返回结果。ApacheSpark:ApacheSpark是提供大数据集上快速进行数据分析的计算引擎。它建立在HDFS之上,却绕过了MapReduce使用自己的数据处理框架,Spark常用于实时查询、流处理、迭代算法、复杂操作运算和机器学习。ApacheAmbari:Ambari用来协助管理Hadoop,它提供对Hadoop生态系统中许多工具的支持,包括Hive、HBase、Pig、Spooq和ZooKeeper,这个工具提供集群管理仪表盘,可以跟踪集群运行状态,帮助诊断性能问题。现在是9页\一共有35页\编辑于星期日ApachePig:Pig是一个集成高级查询语言的平台,可以用来处理大数据集ApacheHBase:HBase是一个非关系型数据库管理系统,运行在HDFS之上。它用来处理大数据工程中稀疏数据集其他常见的Hadoop项目还包括Avro、Cassandra、Chukwa,Mahout和ZooKeeperHadoop是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点,Hadoop的核心是HDFS和Mapreduce,hadoop2.0还包括YARNHadoop生态系统概况:现在是10页\一共有35页\编辑于星期日Hadoop特点Hadoop是一个能够让用户轻松架构和使用的分布式计算平台,用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。它主要有以下几个优点:高可靠性:Hadoop按位存储和处理数据的能力值得人们信赖。高扩展性:Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。高效性:Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。高容错性:Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。低成本:与一体机、商用数据仓库以及QlikView、YonghongZ-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。现在是11页\一共有35页\编辑于星期日Hadoop工作机制hadoop由两部分组成,分别是分布式文件系统HDFS和分布式计算框架MapReduceHDFS主要用于大规模数据的分布式存储MapReduce则构建在分布式文件系统之上,对存储在分布式文件系统中的数据进行分布式计算Hadoop默认使用的分布式文件系统HFDS(Hadoop
Distributed
File
System),它与MapReduce框架紧密结合Hadoop中,MapReduce底层的分布式文件系统是独立模块,用户可按照约定的一套接口实现自己的分布式文件系统,然后经过简单的配置后,存储在该文件系统上的数据便可以被MapReduce处理现在是12页\一共有35页\编辑于星期日Hadoop工作机制HDFS工作机制简单介绍:1、由一个master与多个server组成2、Master用来保存目录与索引信息,hadoop2x设置的每个chunk大
小为128M;Hadoop1x设置的每个chunk大小为64M3、Master的所有信息都存储在内存中,启动时的信息从chunk
server中获得
现在是13页\一共有35页\编辑于星期日Hadoop工作机制HDFS是一个具有高度容错性的分布式文件系统,适合部署在廉价的机器上HDFS的架构如下图1所示,总体上采用了master/slave架构,主要由以下几个组件组成:Client,NameNode,Secondary,DataNode现在是14页\一共有35页\编辑于星期日Client:切分文件,访问HDFS,与NameNode交互,获取文件位置信息;与
DataNode交互,读取和写入数据
NameNode:Master节点,在hadoop1.X中只有一个,在hadoop2x中可以配合zookeeper实现HA(热备-两个NameNode),管理HDFS的名称空间和数据
块映射信息,配置副本策略,处理客户端请求
DataNode:Slave节点,存储实际的数据,汇报存储信息给NameNodeSecondaryNameNode(可以叫做冷备):辅助NameNode,分担其工作量;定期合并fsimage和fsedits,推送给NameNode;紧急情况下,可辅助恢复NameNode,但SecondaryNameNode并非NameNode的热备现在是15页\一共有35页\编辑于星期日Mapreduce(分布式计算框架)源自于google的MapReduce论文,发表于2004年12月,HadoopMapReduce是googleMapReduce克隆版,MapReduce是一种计算模型,用以进行大数据量的计算Map:对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果Reduce:对中间结果中相同“键”的所有“值”进行规约,以得到最终结果MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理现在是16页\一共有35页\编辑于星期日Mapreduce处理流程,以wordCount(词频统计)为例:现在是17页\一共有35页\编辑于星期日Mapreduce(map和reduce)处理流程:现在是18页\一共有35页\编辑于星期日hadoop工作任务(job)过程HadoopV1:现在是19页\一共有35页\编辑于星期日JobTracker:Master节点,只有一个,管理所有作业,作业/任务的
监控、错误处理等;将任务分解成一系列任务,并分
派给TaskTrackerTaskTracker:Slave节点,运行MapTask和ReduceTask,与JobTracker交互,汇报任务状态MapTask:解析每条数据记录,传递给用户编写的map(),并执行,
将输出结果写入本地磁盘(如果为map-only作业,直接写入HDFS)。ReducerTask:从MapTask的执行结果中,远程读取输入数据,对数
据进行排序,将数据按照分组传递给用户编写的reduce
函数执行。现在是20页\一共有35页\编辑于星期日现在是21页\一共有35页\编辑于星期日Client(客户端):编写mapreduce程序,配置作业,提交作业,这就是程序员完成的工作JobTracker:初始化作业,分配作业,与TaskTracker通信,协调整个作业的执行TaskTracker:保持与JobTracker的通信,在分配的数据片段上执行Map或Reduce任务TaskTracker和JobTracker的不同有个很重要的方面,就是在执行任务时候TaskTracker可以有n多个,JobTracker则只会有一个(JobTracker只能有一个就和hdfs里namenode一样存在单点故障,我会在后面的mapreduce的相关问题里讲到这个问题的)Hdfs:保存作业的数据、配置信息等等,最后的结果也是保存在hdfs上面mapreduce作业执行涉及4个独立的实体:现在是22页\一共有35页\编辑于星期日hadoop工作任务(job)过程HadoopV2:现在是23页\一共有35页\编辑于星期日MapReduce在Hadoop2x中称为MR2或YARN,将JobTracker中的资源管理及任务生命周期管理(包括定时触发及监控),拆分成两个独立的服务:1、用于管理全部资源的ResourceManager---用于管理向应用程序分配计算资源2、管理每个应用的ApplicationMaster---用于管理应用程序、调度以及协调一个应用程序可以是经典的MapReduce架构中的一个单独的任务ResourceManager及每台机上的NodeManager服务,用于管理那台机的用户进程,形成计算架构每个应用程序的ApplicationMaster实际上是一个框架具体库,并负责从ResourceManager中协调资源及与NodeManager(s)协作执行并监控任务。说明:现在是24页\一共有35页\编辑于星期日关键进程NameNode
SecondaryNameNodeDataNodeJobTrackerTaskTracker
现在是25页\一共有35页\编辑于星期日关键进程NameNodeNameNode:它是Hadoop中的主服务器,管理文件系统名称空间和对集群中存储的文件的访问现在是26页\一共有35页\编辑于星期日关键进程SecondaryNameNodeSecondaryNameNode:它不是namenode的冗余守护进程,而是提供周期检查点和清理任务。出于对可扩展性和容错性等考虑,我们一般将SecondaryNameNode运行在一台非NameNode的机器上现在是27页\一共有35页\编辑于星期日关键进程DataNodeDataNode:它负责管理连接到节点的存储(一个集群中可以有多个节点)。每个存储数据的节点运行一个datanode守护进程现在是28页\一共有35页\编辑于星期日关键进程
JobTrackerJobTracker负责调度
DataNode上的工作,每个
DataNode有一个TaskTracker,它们执行实际工作JobTracker和
TaskTracker采用主-从形式,JobTracker跨DataNode分发工作,而
TaskTracker执行任务JobTracker还检查请求的工作,如果一个
DataNode由于某种原因失败,JobTracker会重新调度以前的任务现在是29页\一共有35页\编辑于星期日关键进程
TaskTrackerTaskTracker:
是在网络环境中开始和跟踪任务的核心位置,与Jobtracker连接请求执行任务而后报告任务状态现在是30页\一共有35页\编辑于星期日HDFShdfs-site.xml参数配置hadoop配置文件.dir
NameNode元数据存放位置默认值:file://${hadoop.tmp.dir}/dfs/namedfs.blocksize对于新文件切分的大小,单位byte。默认是128M,每一个节点都要指定,包括客户端。默认值:134217728dfs.datanode.data.dirDataNode在本地磁盘存放block的位置,可以是以逗号分隔的目录列表,DataNode循环向磁盘中写入数据,每个DataNode可单独指定与其它DataNode不一样默认值:file://${hadoop.tmp.dir}/dfs/data现在是31页\一共有35页\编辑于星期日HDFShdfs-site.xml参数配置node.handler.countNameNode用来处理来自DataNode的RPC请求的线程数量建议设置为DataNode数量的10%,一般在10~200个之间如设置太小,DataNode在传输数据的时候日志中会报告“connectonrefused"信息在NameNode上设定默认值:10dfs.datanode.handler.countDataNode用来连接NameNode的RPC请求的线程数量取决于系统的繁忙程度设置太小会导致性能下降甚至报错在DataNode上设定默认值:10dfs.datanode.max.transfer.threadsDataNode可以同时处理的数据传输连接数建议值:4096现在是32页\一共有35页\编辑于星期日HDFShdfs-site.xml参数配置dfs.permissions
如果是true则检查权限,否则不检查(每一个人都可以存取文件)于NameNode上设定默认值:truedfs.datanode.du.reserved 在每个卷上面HDFS不能使用的空间大小在每个DataNode上面设定默认值:0建议为10737418240,即10G。需要结合MapReduce场景设置。dfs.datanode.failed.volumes.toleratedDataNode可以容忍损块的磁盘数量,超过这个数量DataNode将会离线,所有在这个节点上面的block将会被重新复制默认是0,但是在有多块磁盘的时候一般会增大这个值dfs.replication在文件被写入的时候,每一块将要被复制多少份默认是3份。建议3份在客户端上设定通常也需要在DataNode上设定现在是33页\一共有35页\编辑于星期日HDFShdfs-site.xml参数配置dfs.webhdfs.enabled
-EnableWebHDFS(RESTAPI)inNa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版:供应链管理服务合同
- 2024年特种门采购合同范本3篇
- 2024年某企业关于知识产权许可的合同
- 马鞍山职业技术学院《安装工程计量计价实训》2023-2024学年第一学期期末试卷
- 2024年文化产业融资借款合同范本大全6篇
- 2025年货运从业资格证模拟试题题库及答案解析
- 2025年货运从业资格证考试题目和答案
- 2025年昆明考货运从业资格证考试题目
- 2024事业单位聘用合同教师(附教育质量监控与管理)3篇
- 2025建筑工程民工劳动合同范文
- 京瓷哲学培训课件
- 天猫电子商务案例分析
- 2022年1201广东选调生考试《综合行政能力测验》真题
- 有机肥料采购项目售后服务方案
- 综合实践活动(1年级下册)第3课时 感恩卡设计与制作-课件
- 2023河南省科学院招聘144人笔试参考题库(共500题)答案详解版
- (完整版)小学生英语百科知识竞赛题及答案
- 肥料、农药采购服务方案(技术方案)
- 脑卒中后吞咽障碍患者进食护理(2023年中华护理学会团体标准)
- 妊娠期高血压疾病诊治指南(2022版)解读
- 政府经济学网上作业-第2次任务-以“政府支出”为主题-撰写一篇不少于1000字的小论文
评论
0/150
提交评论