版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《大数据技术原理与应用》主讲教师:《大数据技术原理与应用》主讲教师:课程特色搭建起通向“大数据知识空间”的桥梁和纽带构建知识体系、阐明基本原理引导初级实践、了解相关应用为学生在大数据领域“深耕细作”奠定基础、指明方向课程特色搭建起通向“大数据知识空间”的桥梁和纽带内容提要本课程系统介绍了大数据相关知识,共有13章系统地论述了大数据的基本概念、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、分布式并行编程模型MapReduce、流计算、图计算、数据可视化以及大数据在互联网、生物医学和物流等各个领域的应用在Hadoop、HDFS、HBase和MapReduce等重要章节,安排了入门级的实践操作,让学生更好地学习和掌握大数据关键技术3ppt精选版内容提要本课程系统介绍了大数据相关知识,共有13章3ppt精篇章安排第一篇:大数据基础篇第二篇:大数据存储篇第三篇:大数据处理与分析篇第四篇:大数据应用篇4ppt精选版篇章安排第一篇:大数据基础篇4ppt精选版第一篇:大数据基础篇5ppt精选版第一篇:大数据基础篇5ppt精选版第二篇:大数据存储篇6ppt精选版第二篇:大数据存储篇6ppt精选版第三篇:大数据处理与分析篇7ppt精选版第三篇:大数据处理与分析篇7ppt精选版第四篇:大数据应用篇8ppt精选版第四篇:大数据应用篇8ppt精选版各章内容第一章大数据概述第二章大数据处理架构Hadoop第三章分布式文件系统HDFS第四章分布式数据库HBase第五章NoSQL数据库第六章云数据库第七章MapReduce第八章流计算第九章图计算第十章数据可视化第十一章大数据在互联网领域的应用第十二章大数据在生物医学领域的应用(自学)第十三章大数据的其他应用(自学)9ppt精选版各章内容第一章大数据概述9ppt精选版
第一章大数据概述
第一章大数据概述提纲1.1大数据时代1.2大数据概念1.3大数据的影响1.4大数据的应用1.5大数据关键技术1.6大数据计算模式1.7大数据产业1.8大数据与云计算、物联网的关系提纲1.1大数据时代1.1大数据时代1.1大数据时代1.1.1第三次信息化浪潮根据IBM前首席执行官郭士纳的观点,IT领域每隔十五年就会迎来一次重大变革信息化浪潮发生时间标志解决问题代表企业第一次浪潮1980年前后个人计算机信息处理Intel、AMD、IBM、苹果、微软、联想、戴尔、惠普等第二次浪潮1995年前后互联网信息传输雅虎、谷歌、阿里巴巴、百度、腾讯等第三次浪潮2010年前后物联网、云计算和大数据信息爆炸将涌现出一批新的市场标杆企业表1-1三次信息化浪潮1.1.1第三次信息化浪潮根据IBM前首席执行官郭士纳的观点1.1.2信息科技为大数据时代提供技术支撑图1-1存储价格随时间变化情况存储设备容量不断增加,速度不断提升,价格却在不断下降1.1.2信息科技为大数据时代提供技术支撑图1-1存储价格1.2信息科技为大数据时代提供技术支撑来自斯威本科技大学(SwinburneUniversityofTechnology)的研究团队,在2013年6月29日刊出的《自然通讯(NatureCommunications)》杂志的文章中,描述了一种全新的数据存储方式,可将1PB(1024TB)的数据存储到一张仅DVD大小的聚合物碟片上。1.2信息科技为大数据时代提供技术支撑来自斯威本科技大学(S1.1.2信息科技为大数据时代提供技术支撑图1-3CPU晶体管数目随时间变化情况2.CPU处理能力大幅提升
1.1.2信息科技为大数据时代提供技术支撑图1-3CPU晶1.1.2信息科技为大数据时代提供技术支撑摩尔定律:CPU性能每隔18个月提高一倍,价格下降一半1.1.2信息科技为大数据时代提供技术支撑摩尔定律:CPU性图1-4网络带宽随时间变化情况3.网络带宽不断增加1.1.2信息科技为大数据时代提供技术支撑图1-4网络带宽随时间变化情况3.网络带宽不断增加数据产生方式的变革促成大数据时代的来临图1-5数据产生方式的变革1.1.3数据产生方式的变革促成大数据时代的来临图1-5数1.1.4大数据的发展历程阶段时间内容第一阶段:萌芽期上世纪90年代至本世纪初随着数据挖掘理论和数据库技术的逐步成熟,一批商业智能工具和知识管理技术开始被应用,如数据仓库、专家系统、知识管理系统等。第二阶段:成熟期本世纪前十年Web2.0应用迅猛发展,非结构化数据大量产生,传统处理方法难以应对,带动了大数据技术的快速突破,大数据解决方案逐渐走向成熟,形成了并行计算与分布式系统两大核心技术,谷歌的GFS和MapReduce等大数据技术受到追捧,Hadoop平台开始大行其道第三阶段:大规模应用期2010年以后大数据应用渗透各行各业,数据驱动决策,信息社会智能化程度大幅提高表1-2大数据发展的三个阶段1.1.4大数据的发展历程阶段时间内容第一阶段:萌芽期上世1.2大数据概念(4V)1.2大数据概念(4V)1.2.1 数据量大根据IDC作出的估测,数据一直都在以每年50%的速度增长,也就是说每两年就增长一倍(大数据摩尔定律)人类在最近两年产生的数据量相当于之前产生的全部数据量预计到2020年,全球将总共拥有35ZB的数据量,相较于2010年,数据量将增长近30倍22ppt精选版1.2.1 数据量大根据IDC作出的估测,数据一直都在以每年1.2.2数据类型繁多大数据是由结构化和非结构化数据组成的10%的结构化数据,存储在数据库中90%的非结构化数据,它们与人类信息密切相关科学研究–基因组–LHC加速器–地球与空间探测企业应用–Email、文档、文件–应用日志–交易记录Web1.0数据–文本–图像–视频Web2.0数据–查询日志/点击流–Twitter/Blog/SNS–Wiki23ppt精选版1.2.2数据类型繁多大数据是由结构化和非结构化数据组成的1.2.3 处理速度快从数据的生成到消耗,时间窗口非常小,可用于生成决策的时间非常少1秒定律:这一点也是和传统的数据挖掘技术有着本质的不同24ppt精选版1.2.3 处理速度快从数据的生成到消耗,时间窗口非常小,可1.2.4 价值密度低
价值密度低,商业价值高
以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒,但是具有很高的商业价值25ppt精选版1.2.4 价值密度低 价值密度低,商业价值高25ppt精选1.3大数据的影响
图灵奖获得者、著名数据库专家JimGray博士观察并总结人类自古以来,在科学研究上,先后历经了实验、理论、计算和数据四种范式实验理论计算数据1.3大数据的影响 图灵奖获得者、著名数据库专家JimGr1.3大数据的影响在思维方式方面,大数据完全颠覆了传统的思维方式:全样而非抽样效率而非精确相关而非因果1.3大数据的影响在思维方式方面,大数据完全颠覆了传统的思维1.3大数据的影响在社会发展方面,大数据决策逐渐成为一种新的决策方式,大数据应用有力促进了信息技术与各行业的深度融合,大数据开发大大推动了新技术和新应用的不断涌现在就业市场方面,大数据的兴起使得数据科学家成为热门职业在人才培养方面,大数据的兴起,将在很大程度上改变中国高校信息技术相关专业的现有教学和科研体制1.3大数据的影响在社会发展方面,大数据决策逐渐成为一种新的1.4大数据的应用大数据无处不在,包括金融、汽车、零售、餐饮、电信、能源、政务、医疗、体育、娱乐等在内的社会各行各业都已经融入了大数据的印迹1.4大数据的应用大数据无处不在,包括金融、汽车、零售、餐饮典型的大数据应用实例KevinSpaceyDavidFincher英国同名小说《纸牌屋》风靡全球的美剧《纸牌屋》大数据分析30ppt精选版典型的大数据应用实例KevinSpaceyDavidFi典型的大数据应用实例
从谷歌流感趋势看大数据的应用价值
“谷歌流感趋势”,通过跟踪搜索词相关数据来判断全美地区的流感情况31ppt精选版典型的大数据应用实例 从谷歌流感趋势看大数据的应用价值31p1.5大数据关键技术表1-5大数据技术的不同层面及其功能技术层面功能数据采集利用ETL工具将分布的、异构数据源中的数据如关系数据、平面数据文件等,抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础;或者也可以把实时采集的数据作为流计算系统的输入,进行实时处理分析数据存储和管理利用分布式文件系统、数据仓库、关系数据库、NoSQL数据库、云数据库等,实现对结构化、半结构化和非结构化海量数据的存储和管理数据处理与分析利用分布式并行编程模型和计算框架,结合机器学习和数据挖掘算法,实现对海量数据的处理和分析;对分析结果进行可视化呈现,帮助人们更好地理解数据、分析数据数据隐私和安全在从大数据中挖掘潜在的巨大商业价值和学术价值的同时,构建隐私数据保护体系和数据安全体系,有效保护个人隐私和数据安全1.5大数据关键技术表1-5大数据技术的不同层面及其功能技1.5大数据关键技术分布式存储分布式处理GFS\HDFSBigTable\HBaseNoSQL(键值、列族、图形、文档数据库)NewSQL(如:SQLAzure)MapReduce大数据两大核心技术1.5大数据关键技术分布式存储分布式处理GFS\HDFSMa1.6大数据计算模式大数据计算模式解决问题代表产品批处理计算针对大规模数据的批量处理MapReduce、Spark等流计算针对流数据的实时计算Storm、S4、Flume、Streams、Puma、DStream、SuperMario、银河流数据处理平台等图计算针对大规模图结构数据的处理Pregel、GraphX、Giraph、PowerGraph、Hama、GoldenOrb等查询分析计算大规模数据的存储管理和查询分析Dremel、Hive、Cassandra、Impala等表1-3大数据计算模式及其代表产品1.6大数据计算模式大数据计算模式解决问题代表产品批处理计算1.7大数据产业大数据产业是指一切与支撑大数据组织管理和价值发现相关的企业经济活动的集合产业链环节包含内容IT基础设施层包括提供硬件、软件、网络等基础设施以及提供咨询、规划和系统集成服务的企业,比如,提供数据中心解决方案的IBM、惠普和戴尔等,提供存储解决方案的EMC,提供虚拟化管理软件的微软、思杰、SUN、Redhat等数据源层大数据生态圈里的数据提供者,是生物大数据(生物信息学领域的各类研究机构)、交通大数据(交通主管部门)、医疗大数据(各大医院、体检机构)、政务大数据(政府部门)、电商大数据(淘宝、天猫、苏宁云商、京东等电商)、社交网络大数据(微博、微信、人人网等)、搜索引擎大数据(百度、谷歌等)等各种数据的来源数据管理层包括数据抽取、转换、存储和管理等服务的各类企业或产品,比如分布式文件系统(如Hadoop的HDFS和谷歌的GFS)、ETL工具(Informatica、Datastage、Kettle等)、数据库和数据仓库(Oracle、MySQL、SQLServer、HBase、GreenPlum等)数据分析层包括提供分布式计算、数据挖掘、统计分析等服务的各类企业或产品,比如,分布式计算框架MapReduce、统计分析软件SPSS和SAS、数据挖掘工具Weka、数据可视化工具Tableau、BI工具(MicroStrategy、Cognos、BO)等等数据平台层包括提供数据分享平台、数据分析平台、数据租售平台等服务的企业或产品,比如阿里巴巴、谷歌、中国电信、百度等数据应用层提供智能交通、智慧医疗、智能物流、智能电网等行业应用的企业、机构或政府部门,比如交通主管部门、各大医疗机构、菜鸟网络、国家电网等1.7大数据产业大数据产业是指一切与支撑大数据组织管理和价值1.8大数据与云计算、物联网的关系云计算、大数据和物联网代表了IT领域最新的技术发展趋势,三者相辅相成,既有联系又有区别1.8大数据与云计算、物联网的关系云计算、大数据和物联网代表1.8.1云计算云计算实现了通过网络提供可伸缩的、廉价的分布式计算能力,用户只需要在具备网络接入条件的地方,就可以随时随地获得所需的各种IT资源图1-7云计算的服务模式和类型1.云计算概念1.8.1云计算云计算实现了通过网络提供可伸缩的、廉价的分布1.8.1云计算InfrastructureasaServicePlatformasaServiceSoftwareasaServiceSaaSPaaSIaaSGoogleApps,Microsoft“Software+Services”IBMITfactory,GoogleAppEngine,FAmazonEC2,IBMBlueCloud,SunGridServerStorageServerStorageVisualizationInfrastructurePlatformApplication从一个集中的系统部署软件,使之在一台本地计算机上(或从云中远程地)运行的一个模型。由于是计量服务,SaaS允许出租一个应用程序,并计时收费IaaS将基础设施(计算资源和存储)作为服务出租PaaS类似于IaaS,但是它包括操作系统和围绕特定应用的必需的服务SaaS1.8.1云计算InfrastructureasaSe1.8.1云计算云计算关键技术包括:虚拟化、分布式存储、分布式计算、多租户等2.云计算关键技术1.8.1云计算云计算关键技术包括:虚拟化、分布式存储、分布1.8.1云计算云计算数据中心是一整套复杂的设施,包括刀片服务器、宽带网络连接、环境控制设备、监控设备以及各种安全装置等数据中心是云计算的重要载体,为云计算提供计算、存储、带宽等各种硬件资源,为各种平台和应用提供运行支撑环境全国各地推进数据中心建设3.云计算数据中心1.8.1云计算云计算数据中心是一整套复杂的设施,包括刀片服1.8.1云计算政务云上可以部署公共安全管理、容灾备份、城市管理、应急管理、智能交通、社会保障等应用,通过集约化建设、管理和运行,可以实现信息资源整合和政务资源共享,推动政务管理创新,加快向服务型政府转型教育云可以有效整合幼儿教育、中小学教育、高等教育以及继续教育等优质教育资源,逐步实现教育信息共享、教育资源共享及教育资源深度挖掘等目标中小企业云能够让企业以低廉的成本建立财务、供应链、客户关系等管理应用系统,大大降低企业信息化门槛,迅速提升企业信息化水平,增强企业市场竞争力医疗云可以推动医院与医院、医院与社区、医院与急救中心、医院与家庭之间的服务共享,并形成一套全新的医疗健康服务系统,从而有效地提高医疗保健的质量4.云计算应用1.8.1云计算政务云上可以部署公共安全管理、容灾备份、城市1.8.1云计算
云计算产业作为战略性新兴产业,近些年得到了迅速发展,形成了成熟的产业链结构,产业涵盖硬件与设备制造、基础设施运营、软件与解决方案供应商、基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)、终端设备、云安全、云计算交付/咨询/认证等环节5.云计算产业1.8.1云计算云计算产业作为战略性新兴产业,近些年得到了1.8.1云计算图1-8云计算产业链5.云计算产业1.8.1云计算图1-8云计算产业链5.云计算产业1.8.2物联网物联网是物物相连的互联网,是互联网的延伸,它利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化和远程管理控制1.物联网概念1.8.2物联网物联网是物物相连的互联网,是互联网的延伸,它1.8.2物联网1.物联网概念图1-9物联网体系架构1.8.2物联网1.物联网概念图1-9物联网体系架构1.8.2物联网物联网中的关键技术包括识别和感知技术(二维码、RFID、传感器等)、网络与通信技术、数据挖掘与融合技术等2.物联网关键技术图1-10矩阵式二维码图1-11采用RFID芯片的公交卡图1-12不同类型的传感器1.8.2物联网物联网中的关键技术包括识别和感知技术(二维码1.8.2物联网物联网已经广泛应用于智能交通、智慧医疗、智能家居、环保监测、智能安防、智能物流、智能电网、智慧农业、智能工业等领域,对国民经济与社会发展起到了重要的推动作用3.物联网应用1.8.2物联网物联网已经广泛应用于智能交通、智慧医疗、智能1.8.2物联网完整的物联网产业链主要包括核心感应器件提供商、感知层末端设备提供商、网络提供商、软件与行业解决方案提供商、系统集成商、运营及服务提供商等六大环节4.物联网产业1.8.2物联网完整的物联网产业链主要包括核心感应器件提供商1.8.2物联网图1-8物联网产业链4.物联网产业1.8.2物联网图1-8物联网产业链4.物联网产业1.8.3大数据与云计算、物联网的关系云计算、大数据和物联网代表了IT领域最新的技术发展趋势,三者既有区别又有联系图1-9大数据、云计算和物联网之间的关系1.8.3大数据与云计算、物联网的关系云计算、大数据和物联网本章小结本章介绍了大数据技术的发展历程,并指出信息科技的不断进步为大数据时代提供了技术支撑,数据产生方式的变革促成了大数据时代的来临大数据具有数据量大、数据类型繁多、处理速度快、价值密度低等特点,统称“4V”。大数据对科学研究、思维方式、社会发展、就业市场和人才培养等方面,都产生了重要的影响,深刻理解大数据的这些影响,有助于我们更好把握学习和应用大数据的方向大数据在金融、汽车、零售、餐饮、电信、能源、政务、医疗、体育、娱乐等在内的社会各行各业都得到了日益广泛的应用,深刻地改变着我们的社会生产和日常生活本章小结本章介绍了大数据技术的发展历程,并指出信息科技的不断本章小结大数据并非单一的数据或技术,而是数据和大数据技术的综合体。大数据技术主要包括数据采集、数据存储和管理、数据处理与分析、数据安全和隐私保护等几个层面的内容大数据产业包括IT基础设施层、数据源层、数据管理层、数据分析层、数据平台层和数据应用层,在不同层面,都已经形成了一批引领市场的技术和企业本章最后介绍了云计算和物联网的概念和关键技术,并阐述了大数据、云计算和物联网三者之间的区别与联系本章小结大数据并非单一的数据或技术,而是数据和大数据技术的综第二章大数据处理架构Hadoop53ppt精选版第二章大数据处理架构Hadoop53ppt精选版提纲2.1概述2.2Hadoop项目结构2.3Hadoop的安装与使用2.4Hadoop集群的部署与使用提纲2.1概述2.1概述2.1.1 Hadoop简介2.1.2 Hadoop发展简史2.1.3 Hadoop的特性2.1.4 Hadoop的应用现状Hadoop的标志55ppt精选版2.1概述2.1.1 Hadoop简介Hadoop的标志52.1.1Hadoop简介
Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中Hadoop的核心是分布式文件系统HDFS(HadoopDistributedFileSystem)和MapReduceHadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的处理能力几乎所有主流厂商都围绕Hadoop提供开发工具、开源软件、商业化工具和技术服务,如谷歌、雅虎、微软、思科、淘宝等,都支持Hadoop2.1.1Hadoop简介Hadoop是Apache软件2.1.2Hadoop发展简史
Hadoop最初是由ApacheLucene项目的创始人DougCutting开发的文本搜索库。Hadoop源自始于2002年的ApacheNutch项目——一个开源的网络搜索引擎并且也是Lucene项目的一部分
在2004年,Nutch项目也模仿GFS开发了自己的分布式文件系统NDFS(NutchDistributedFileSystem),也就是HDFS的前身2004年,谷歌公司又发表了另一篇具有深远影响的论文,阐述了MapReduce分布式编程思想2005年,Nutch开源实现了谷歌的MapReduce2.1.2Hadoop发展简史Hadoop最初是由Apa2.1.2Hadoop发展简史
到了2006年2月,Nutch中的NDFS和MapReduce开始独立出来,成为Lucene项目的一个子项目,称为Hadoop,同时,DougCutting加盟雅虎2008年1月,Hadoop正式成为Apache顶级项目,Hadoop也逐渐开始被雅虎之外的其他公司使用2008年4月,Hadoop打破世界纪录,成为最快排序1TB数据的系统,它采用一个由910个节点构成的集群进行运算,排序时间只用了209秒在2009年5月,Hadoop更是把1TB数据排序时间缩短到62秒。Hadoop从此名声大震,迅速发展成为大数据时代最具影响力的开源分布式开发平台,并成为事实上的大数据处理标准2.1.2Hadoop发展简史到了2006年2月,Nut2.1.3Hadoop的特性
Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的,它具有以下几个方面的特性:
高可靠性
高效性
高可扩展性
高容错性
成本低
运行在Linux平台上
支持多种编程语言2.1.3Hadoop的特性Hadoop是一2.1.3Hadoop的应用现状
Hadoop凭借其突出的优势,已经在各个领域得到了广泛的应用,而互联网领域是其应用的主阵地2007年,雅虎在Sunnyvale总部建立了M45——一个包含了4000个处理器和1.5PB容量的Hadoop集群系统Facebook作为全球知名的社交网站,Hadoop是非常理想的选择,Facebook主要将Hadoop平台用于日志处理、推荐系统和数据仓库等方面
国内采用Hadoop的公司主要有百度、淘宝、网易、华为、中国移动等,其中,淘宝的Hadoop集群比较大2.1.3Hadoop的应用现状Hadoop凭借其突出的2.1.3Hadoop的应用现状Hadoop在企业中的应用架构2.1.3Hadoop的应用现状Hadoop在企业中的应用2.1.4ApacheHadoop版本演变ApacheHadoop版本分为两代,我们将第一代Hadoop称为Hadoop1.0,第二代Hadoop称为Hadoop2.0第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而0.21.x和0.22.x则增加了NameNodeHA等新的重大特性第二代Hadoop包含两个版本,分别是0.23.x和2.x,它们完全不同于Hadoop1.0,是一套全新的架构,均包含HDFSFederation和YARN两个系统,相比于0.23.x,2.x增加了NameNodeHA和Wire-compatibility两个重大特性2.1.4ApacheHadoop版本演变Apache2.1.4ApacheHadoop版本演变2.1.4ApacheHadoop版本演变ApacheHadoopHortonworksCloudera(CDH:ClouderaDistributionHadoop)MapR……2.1.5Hadoop各种版本选择Hadoop版本的考虑因素:是否开源(即是否免费)是否有稳定版是否经实践检验是否有强大的社区支持ApacheHadoop2.1.5Hadoop各种版本选2.1.5Hadoop各种版本2.1.5Hadoop各种版本2.2Hadoop项目结构Hadoop的项目结构不断丰富发展,已经形成一个丰富的Hadoop生态系统2.2Hadoop项目结构Hadoop的项目结构不断丰富发2.2Hadoop项目结构组件功能HDFS分布式文件系统MapReduce分布式并行编程模型YARN资源管理和调度器Tez运行在YARN之上的下一代Hadoop查询处理框架HiveHadoop上的数据仓库HBaseHadoop上的非关系型的分布式数据库Pig一个基于Hadoop的大规模数据分析平台,提供类似SQL的查询语言PigLatinSqoop用于在Hadoop与传统数据库之间进行数据传递OozieHadoop上的工作流管理系统Zookeeper提供分布式协调一致性服务Storm流计算框架Flume一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统AmbariHadoop快速部署工具,支持ApacheHadoop集群的供应、管理和监控Kafka一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据Spark类似于HadoopMapReduce的通用并行框架2.2Hadoop项目结构组件功能HDFS分布式文件系统M2.3 Hadoop的安装与使用2.3.1Hadoop安装之前的预备知识2.3.2安装Linux虚拟机2.3.3安装双操作系统2.3.4详解Hadoop的安装与使用68ppt精选版2.3 Hadoop的安装与使用2.3.1Hadoop安装2.3.1Hadoop安装之前的预备知识(一)Linux的选择(1)选择哪个Linux发行版?在Linux系统各个发行版中,CentOS系统和Ubuntu系统在服务端和桌面端使用占比最高,网络上资料最是齐全,所以建议使用CentOS或Ubuntu在学习Hadoop方面,虽然两个系统没有多大区别,但是推荐使用Ubuntu操作系统(2)选择32位还是64位?如果电脑比较老或者内存小于2G,那么建议选择32位系统版本的Linux如果内存大于4G,那么建议选择64位系统版本的Linux2.3.1Hadoop安装之前的预备知识(一)Linux的2.3.1Hadoop安装之前的预备知识(二)系统安装方式:选择虚拟机安装还是双系统安装建议电脑比较新或者配置内存4G以上的电脑可以选择虚拟机安装电脑较旧或配置内存小于等于4G的电脑强烈建议选择双系统安装,否则,在配置较低的计算机上运行LInux虚拟机,系统运行速度会非常慢鉴于目前教师和学生的计算机硬件配置一般不高,建议在实践教学中采用双系统安装,确保系统运行速度2.3.1Hadoop安装之前的预备知识(二)系统安装方式2.3.1Hadoop安装之前的预备知识(三)关于Linux的一些基础知识Shell是指“提供使用者使用界面”的软件(命令解析器),类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序sudo命令sudo是ubuntu中一种权限管理机制,管理员可以授权给一些普通用户去执行一些需要root权限执行的操作。当使用sudo命令时,就需要输入您当前用户的密码2.3.1Hadoop安装之前的预备知识(三)关于Linu2.3.1Hadoop安装之前的预备知识输入密码在Linux的终端中输入密码,终端是不会显示任何你当前输入的密码,也不会提示你已经输入了多少字符密码,读者不要误以为键盘没有响应输入法中英文切换linux中英文的切换方式是使用键盘“shift”键来切换,也可以点击顶部菜单的输入法按钮进行切换。Ubuntu自带的Sunpinyin中文输入法已经足够读者使用Ubuntu终端复制粘贴快捷键在Ubuntu终端窗口中,复制粘贴的快捷键需要加上shift,即粘贴是ctrl+shift+v2.3.1Hadoop安装之前的预备知识输入密码2.3.1Hadoop安装之前的预备知识(四)Hadoop安装方式单机模式:Hadoop默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单Java进程,方便进行调试伪分布式模式:Hadoop可以在单节点上以伪分布式的方式运行,Hadoop进程以分离的Java进程来运行,节点既作为NameNode也作为DataNode,同时,读取的是HDFS中的文件分布式模式:使用多个节点构成集群环境来运行Hadoop2.3.1Hadoop安装之前的预备知识(四)Hadoop2.3.2安装Linux虚拟机一、材料和工具1、下载VirtualBox虚拟机软件2.下载UbuntuLTS14.04ISO映像文件二、步骤(一)确认系统版本如果选择的系统是64位Ubuntu系统,那么在安装虚拟机前,我们还要进入BIOS开启CPU的虚拟化2.3.2安装Linux虚拟机一、材料和工具二、步骤2.3.2安装Linux虚拟机2.3.2安装Linux虚拟机2.3.2安装Linux虚拟机(二)安装前的准备1.打开VirtualBox,点击“创建”按钮,创建一个虚拟机2.给虚拟机命名,选择操作系统,版本3.选择内存大小,这里设置的1024M4.创建虚拟硬盘5.选择虚拟硬盘文件类型VDI6.虚拟硬盘选择动态分配7.选择文件存储的位置和容量大小8.点击创建2.3.2安装Linux虚拟机(二)安装前的准备1.打开V2.3.2安装Linux虚拟机(二)安装前的准备2.3.2安装Linux虚拟机(二)安装前的准备2.3.2安装Linux虚拟机(三)安装Ubuntu2.3.2安装Linux虚拟机(三)安装Ubuntu2.3.2安装Linux虚拟机(三)安装Ubuntu2.3.2安装Linux虚拟机(三)安装Ubuntu2.3.3安装双操作系统第一步:制作安装U盘具体可参考百度经验文章/article/59703552e0a6e18fc007409f.html第二步:双系统安装具体可参考百度经验文章/article/dca1fa6fa3b905f1a44052bd.html安装后Window和Ubuntu14.04都可以用,默认windows优先启动可以在电脑启动时,选择进入Ubuntu系统而不是Windows系统2.3.3安装双操作系统第一步:制作安装U盘安装后Wind2.3.4Hadoop的安装与使用(单机/伪分布式)Hadoop基本安装配置主要包括以下几个步骤:创建Hadoop用户SSH登录权限设置安装Java环境单机安装配置伪分布式安装配置2.3.4Hadoop的安装与使用(单机/伪分布式)Had创建Hadoop用户如果安装Ubuntu的时候不是用的“hadoop”用户,那么需要增加一个名为hadoop的用户首先按
ctrl+alt+t
打开终端窗口,输入如下命令创建新用户:$sudouseradd–mhadoop–s/bin/bash上面这条命令创建了可以登陆的hadoop用户,并使用/bin/bash作为shell82ppt精选版创建Hadoop用户如果安装Ubuntu的时候不是用的创建Hadoop用户接着使用如下命令设置密码,可简单设置为hadoop,按提示输入两次密码:$sudopasswdhadoop可为hadoop用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:$sudoadduserhadoopsudo83ppt精选版创建Hadoop用户接着使用如下命令设置密码,可简单设置为SSH登录权限设置SSH是什么?SSH
为
SecureShell
的缩写,是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH是由客户端和服务端的软件组成,服务端是一个守护进程(daemon),它在后台运行并响应来自客户端的连接请求,客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序84ppt精选版SSH登录权限设置SSH是什么?84ppt精选版SSH登录权限设置配置SSH的原因:Hadoop名称节点(NameNode)需要启动集群中所有机器的Hadoop守护进程,这个过程需要通过SSH登录来实现。Hadoop并没有提供SSH输入密码登录的形式,因此,为了能够顺利登录每台机器,需要将所有机器配置为名称节点可以无密码登录它们85ppt精选版SSH登录权限设置配置SSH的原因:85ppt精选版安装Java环境Java环境可选择Oracle的JDK,或是OpenJDK可以在Ubuntu中直接通过命令安装OpenJDK7$sudoapt-getinstallopenjdk-7-jreopenjdk-7-jdk还需要配置一下JAVA_HOME环境变量
具体请参考网络教程:/blog/install-hadoop/86ppt精选版安装Java环境Java环境可选择Oracle的JDK单机安装配置Hadoop2可以到官网下载,需要下载
hadoop-2.x.y.tar.gz
这个格式的文件,这是编译好的,另一个包含src的则是Hadoop源代码,需要进行编译才可使用Hadoop2安装文件的下载如果读者是使用虚拟机方式安装Ubuntu系统的用户,请用虚拟机中的Ubuntu自带firefox浏览器访问本指南,再点击下载地址,才能把hadoop文件下载虚拟机ubuntu中。请不要使用Windows系统下的浏览器下载,文件会被下载到Windows系统中,虚拟机中的Ubuntu无法访问外部Windows系统的文件,造成不必要的麻烦。如果读者是使用双系统方式安装Ubuntu系统的用户,请进去Ubuntu系统,在Ubuntu系统打开firefox浏览器,再点击下载单机安装配置Hadoop2可以到官网下载,需要下载
ha单机安装配置选择将Hadoop安装至/usr/local/中$sudotar-zxf~/下载/hadoop-2.6.0.tar.gz-C/usr/local#解压到/usr/local中$cd/usr/local/$sudomv./hadoop-2.6.0/./hadoop#将文件夹名改为hadoop$sudochown-Rhadoop:hadoop./hadoop#修改文件权限Hadoop解压后即可使用。输入如下命令来检查Hadoop是否可用,成功则会显示Hadoop版本信息:$cd/usr/local/hadoop$./bin/hadoopversionHadoop默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。单机安装配置选择将Hadoop安装至/usr/loca伪分布式安装配置Hadoop可以在单节点上以伪分布式的方式运行,Hadoop进程以分离的Java进程来运行,节点既作为NameNode也作为DataNode,同时,读取的是HDFS中的文件Hadoop的配置文件位于/usr/local/hadoop/etc/hadoop/中,伪分布式需要修改2个配置文件
core-site.xml
和
hdfs-site.xml
Hadoop的配置文件是xml格式,每个配置以声明property的name和value的方式来实现89ppt精选版伪分布式安装配置Hadoop可以在单节点上以伪分布式的方式伪分布式安装配置实验步骤:修改配置文件:core-site.xml,hdfs-site.xml,mapred-site.xml初始化文件系统hadoopnamenode-format启动所有进程start-all.sh访问web界面,查看Hadoop信息运行实例90ppt精选版伪分布式安装配置实验步骤:90ppt精选版伪分布式安装配置修改配置文件
hdfs-site.xml<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>伪分布式安装配置修改配置文件
hdfs-site.xml<c伪分布式安装配置name为fs.defaultFS的值,表示hdfs路径的逻辑名称hadoop.tmp.dir表示存放临时数据的目录,即包括NameNode的数据,也包括DataNode的数据。该路径任意指定,只要实际存在该文件夹即可
伪分布式安装配置name为fs.defaultFS的值,表示伪分布式安装配置修改配置文件
hdfs-site.xml<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>dfs.replication表示副本的数量,伪分布式要设置为1.dir表示本地磁盘目录,是存储fsimage文件的地方dfs.datanode.data.dir表示本地磁盘目录,HDFS数据存放block的地方伪分布式安装配置修改配置文件
hdfs-site.xml<c伪分布式安装配置关于三种Shell命令方式的区别:1.hadoopfs2.hadoopdfs3.hdfsdfshadoopfs适用于任何不同的文件系统,比如本地文件系统和HDFS文件系统hadoopdfs只能适用于HDFS文件系统hdfsdfs跟hadoopdfs的命令作用一样,也只能适用于HDFS文件系统伪分布式安装配置关于三种Shell命令方式的区别:2.4.1集群节点类型2.4.2集群规模2.4.3集群硬件配置2.4.4集群网络拓扑2.4.5集群的建立与安装2.4.6集群基准测试2.4.7在云计算环境中使用Hadoop2.4Hadoop集群的部署与使用2.4.1集群节点类型2.4Hadoop集群的部署与使用2.4.1Hadoop集群中有哪些节点类型Hadoop框架中最核心的设计是为海量数据提供存储的HDFS和对数据进行计算的MapReduceMapReduce的作业主要包括:(1)从磁盘或从网络读取数据,即IO密集工作;(2)计算数据,即CPU密集工作Hadoop集群的整体性能取决于CPU、内存、网络以及存储之间的性能平衡。因此运营团队在选择机器配置时要针对不同的工作节点选择合适硬件类型一个基本的Hadoop集群中的节点主要有NameNode:负责协调集群中的数据存储DataNode:存储被拆分的数据块JobTracker:协调数据计算任务TaskTracker:负责执行由JobTracker指派的任务SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息2.4.1Hadoop集群中有哪些节点类型Hadoop框架2.4.2集群硬件配置在集群中,大部分的机器设备是作为Datanode和TaskTracker工作的Datanode/TaskTracker的硬件规格可以采用以下方案:4个磁盘驱动器(单盘1-2T),支持JBOD(JustaBunchOfDisks,磁盘簇)2个4核CPU,至少2-2.5GHz16-24GB内存千兆以太网2.4.2集群硬件配置在集群中,大部分的机器设备是作为Da2.4.2集群硬件配置NameNode提供整个HDFS文件系统的NameSpace(命名空间)管理、块管理等所有服务,因此需要更多的RAM,与集群中的数据块数量相对应,并且需要优化RAM的内存通道带宽,采用双通道或三通道以上内存。硬件规格可以采用以下方案:8-12个磁盘驱动器(单盘1-2T)2个4核/8核CPU16-72GB内存千兆/万兆以太网2.4.2集群硬件配置NameNode提供整个HDFS文件2.4.2集群硬件配置SecondaryNameNode在小型集群中可以和NameNode共用一台机器,较大的群集可以采用与NameNode相同的硬件2.4.2集群硬件配置SecondaryNameNode在2.4.3集群规模要多大
Hadoop集群规模可大可小,初始时,可以从一个较小规模的集群开始,比如包含10个节点,然后,规模随着存储器和计算需求的扩大而扩大如果数据每周增大1TB,并且有三个HDFS副本,然后每周需要一个额外的3TB作为原始数据存储。要允许一些中间文件和日志(假定30%)的空间,由此,可以算出每周大约需要增加一台新机器。存储两年数据的集群,大约需要100台机器对于一个小的集群,名称节点(NameNode)和JobTracker运行在单个节点上,通常是可以接受的。但是,随着集群和存储在HDFS中的文件数量的增加,名称节点需要更多的主存,这时,名称节点和JobTracker就需要运行在不同的节点上第二名称节点(SecondaryNameNode)会和名称节点可以运行在相同的机器上,但是,由于第二名称节点和名称节点几乎具有相同的主存需求,因此,二者最好运行在不同节点上2.4.3集群规模要多大Hadoop集群规模可大可小,初2.4.4集群网络拓扑普通的Hadoop集群结构由一个两阶网络构成每个机架(Rack)有30-40个服务器,配置一个1GB的交换机,并向上传输到一个核心交换机或者路由器(1GB或以上)在相同的机架中的节点间的带宽的总和,要大于不同机架间的节点间的带宽总和2.4.4集群网络拓扑普通的Hadoop集群结构由一个两阶2.4.5集群的建立与安装采购好相关的硬件设备后,就可以把硬件装入机架,安装并运行Hadoop安装Hadoop有多种方法:(1)手动安装(2)自动化安装为了缓解安装和维护每个节点上相同的软件的负担,可以使用一个自动化方法实现完全自动化安装,比如RedHatLinux’Kickstart、Debian或者Docker自动化安装部署工具,会通过记录在安装过程中对于各个选项的回答来完成自动化安装过程。
2.4.5集群的建立与安装采购好相关的硬件设备后,就可以把2.4.6Hadoop集群基准测试如何判断一个Hadoop集群是否已经正确安装?可以运行基准测试Hadoop自带有一些基准测试程序,被打包在测试程序JAR文件中用TestDFSIO基准测试,来测试HDFS的IO性能用排序测试MapReduce:Hadoop自带一个部分排序的程序,这个测试过程的整个数据集都会通过洗牌(Shuffle)传输至Reducer,可以充分测试MapReduce的性能2.4.6Hadoop集群基准测试如何判断一个Hadoop2.4.7在云计算环境中使用HadoopHadoop不仅可以运行在企业内部的集群中,也可以运行在云计算环境中可以在AmazonEC2中运行Hadoop。EC2是一个计算服务,允许客户租用计算机(实例),来运行自己的应用。客户可以按需运行或终止实例,并且按照实际使用情况来付费Hadoop自带有一套脚本,用于在EC2上面运行Hadoop在EC2上运行Hadoop尤其适用于一些工作流。例如,在AmazonS3中存储数据,在EC2上运行集群,在集群中运行MapReduce作业,读取存储在S3中的数据,最后,在关闭集群之前将输出写回S3中;如果长期使用集群,复制S3数据到运行在EC2上的HDFS中,则可以使得数据处理更加高效,因为,HDFS可以充分利用数据的位置,S3则做不到,因为,S3与EC2的存储不在同一个节点上2.4.7在云计算环境中使用HadoopHadoop不仅可本章小结Hadoop被视为事实上的大数据处理标准,本章介绍了Hadoop的发展历程,并阐述了Hadoop的高可靠性、高效性、高可扩展性、高容错性、成本低、运行在Linux平台上、支持多种编程语言等特性Hadoop目前已经在各个领域得到了广泛的应用,雅虎、Facebook、百度、淘宝、网易等公司都建立了自己的Hadoop集群经过多年发展,Hadoop项目已经变得非常成熟和完善,包括Common、Avro、Zookeeper、HDFS、MapReduce、HBase、Hive、Chukwa、Pig等子项目,其中,HDFS和MapReduce是Hadoop的两大核心组件本章最后介绍了如何在Linux系统下完成Hadoop的安装和配置,这个部分是后续章节实践环节的基础105ppt精选版本章小结Hadoop被视为事实上的大数据处理标准,本章介绍了第三章分布式文件系统HDFS106ppt精选版第三章分布式文件系统HDFS106ppt精选版提纲3.1分布式文件系统3.2HDFS简介3.3HDFS相关概念3.4HDFS体系结构3.5HDFS存储原理3.6HDFS数据读写过程3.7HDFS编程实践提纲3.1分布式文件系统3.1 分布式文件系统3.1.1 计算机集群结构3.1.2 分布式文件系统的结构108ppt精选版3.1 分布式文件系统3.1.1 计算机集群结构108ppt3.1.1 计算机集群结构分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群与之前使用多个处理器和专用高级硬件的并行化处理装置不同的是,目前的分布式文件系统所采用的计算机集群,都是由普通硬件构成的,这就大大降低了硬件上的开销3.1.1 计算机集群结构分布式文件系统把文件分布存储到多个3.1.1 计算机集群结构图3-1计算机集群的基本架构3.1.1 计算机集群结构图3-1计算机集群的基本架构3.1.2 分布式文件系统的结构分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,这些节点分为两类,一类叫“主节点”(MasterNode)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(SlaveNode)或者也被称为“数据节点”(DataNode)3.1.2 分布式文件系统的结构分布式文件系统在物理结构上是3.1.2 分布式文件系统的结构图3-2大规模文件系统的整体结构3.1.2 分布式文件系统的结构图3-2大规模文件系统的整3.2 HDFS简介总体而言,HDFS要实现以下目标:●兼容廉价的硬件设备●流数据读写●大数据集●简单的文件模型●强大的跨平台兼容性HDFS特殊的设计,在实现上述优良特性的同时,也使得自身具有一些应用局限性,主要包括以下几个方面:●不适合低延迟数据访问●无法高效存储大量小文件●不支持多用户写入及任意修改文件3.2 HDFS简介总体而言,HDFS要实现以下目标:●兼容3.3.1 块HDFS默认一个块64MB,一个文件被分成多个块,以块作为存储单位块的大小远远大于普通文件系统,可以最小化寻址开销3.3.1 块HDFS默认一个块64MB,一个文件被分成多个3.3.1 块HDFS采用抽象的块概念可以带来以下几个明显的好处:●支持大规模文件存储:文件以块为单位进行存储,一个大规模文件可以被分拆成若干个文件块,不同的文件块可以被分发到不同的节点上,因此,一个文件的大小不会受到单个节点的存储容量的限制,可以远远大于网络中任意节点的存储容量●简化系统设计:首先,大大简化了存储管理,因为文件块大小是固定的,这样就可以很容易计算出一个节点可以存储多少文件块;其次,方便了元数据的管理,元数据不需要和文件块一起存储,可以由其他系统负责管理元数据●适合数据备份:每个文件块都可以冗余存储到多个节点上,大大提高了系统的容错性和可用性3.3.1 块HDFS采用抽象的块概念可以带来以下几个明显的3.3.2 名称节点和数据节点3.3.2 名称节点和数据节点3.3.2 名称节点和数据节点在HDFS中,名称节点(NameNode)负责管理分布式文件系统的命名空间(Namespace),保存了两个核心的数据结构,即FsImage和EditLogFsImage用于维护文件系统树以及文件树中所有的文件和文件夹的元数据操作日志文件EditLog中记录了所有针对文件的创建、删除、重命名等操作名称节点记录了每个文件中各个块所在的数据节点的位置信息名称节点的数据结构3.3.2 名称节点和数据节点在HDFS中,名称节点(Nam3.3.2 名称节点和数据节点图3-3名称节点的数据结构3.3.2 名称节点和数据节点图3-3名称节点的数据结构3.3.2 名称节点和数据节点FsImage文件包含文件系统中所有目录和文件inode的序列化形式。每个inode是一个文件或目录的元数据的内部表示,并包含此类信息:文件的复制等级、修改和访问时间、访问权限、块大小以及组成文件的块。对于目录,则存储修改时间、权限和配额元数据FsImage文件没有记录块存储在哪个数据节点。而是由名称节点把这些映射保留在内存中,当数据节点加入HDFS集群时,数据节点会把自己所包含的块列表告知给名称节点,此后会定期执行这种告知操作,以确保名称节点的块映射是最新的。FsImage文件3.3.2 名称节点和数据节点FsImage文件包含文件系统3.3.2 名称节点和数据节点在名称节点启动的时候,它会将FsImage文件中的内容加载到内存中,之后再执行EditLog文件中的各项操作,使得内存中的元数据和实际的同步,存在内存中的元数据支持客户端的读操作。一旦在内存中成功建立文件系统元数据的映射,则创建一个新的FsImage文件和一个空的EditLog文件名称节点起来之后,HDFS中的更新操作会重新写到EditLog文件中,因为FsImage文件一般都很大(GB级别的很常见),如果所有的更新操作都往FsImage文件中添加,这样会导致系统运行的十分缓慢,但是,如果往EditLog文件里面写就不会这样,因为EditLog要小很多。每次执行写操作之后,且在向客户端发送成功代码之前,edits文件都需要同步更新名称节点的启动3.3.2 名称节点和数据节点在名称节点启动的时候,它会将F3.3.2 名称节点和数据节点在名称节点运行期间,HDFS的所有更新操作都是直接写到EditLog中,久而久之,EditLog文件将会变得很大虽然这对名称节点运行时候是没有什么明显影响的,但是,当名称节点重启的时候,名称节点需要先将FsImage里面的所有内容映像到内存中,然后再一条一条地执行EditLog中的记录,当EditLog文件非常大的时候,会导致名称节点启动操作非常慢,而在这段时间内HDFS系统处于安全模式,一直无法对外提供写操作,影响了用户的使用名称节点运行期间EditLog不断变大的问题3.3.2 名称节点和数据节点在名称节点运行期间,HDFS的3.3.2 名称节点和数据节点如何解决?答案是:SecondaryNameNode第二名称节点第二名称节点是HDFS架构中的一个组成部分,它是用来保存名称节点中对HDFS元数据信息的备份,并减少名称节点重启的时间。SecondaryNameNode一般是单独运行在一台机器上3.3.2 名称节点和数据节点如何解决?答案是:Second3.3.2 名称节点和数据节点3.3.2 名称节点和数据节点3.3.2 名称节点和数据节点SecondaryNameNode的工作情况:(1)SecondaryNameNode会定期和NameNode通信,请求其停止使用EditLog文件,暂时将新的写操作写到一个新的文件edit.new上来,这个操作是瞬间完成,上层写日志的函数完全感觉不到差别;(2)SecondaryNameNode通过HTTPGET方式从NameNode上获取到FsImage和EditLog文件,并下载到本地的相应目录下;(3)SecondaryNameNode将下载下来的FsImage载入到内存,然后一条一条地执行EditLog文件中的各项更新操作,使得内存中的FsImage保持最新;这个过程就是EditLog和FsImage文件合并;(4)SecondaryNameNode执行完(3)操作之后,会通过post方式将新的FsImage文件发送到NameNode节点上(5)NameNode将从SecondaryNameNode接收到的新的FsImage替换旧的FsImage文件,同时将edit.new替换EditLog文件,通过这个过程EditLog就变小了3.3.2 名称节点和数据节点SecondaryNameNo3.3.2 名称节点和数据节点数据节点是分布式文件系统HDFS的工作节点,负责数据的存储和读取,会根据客户端或者是名称节点的调度来进行数据的存储和检索,并且向名称节点定期发送自己所存储的块的列表每个数据节点中的数据会被保存在各自节点的本地Linux文件系统中数据节点(DataNode)3.3.2 名称节点和数据节点数据节点是分布式文件系统HDF3.4 HDFS体系结构3.4.1 HDFS体系结构概述3.4.2 HDFS命名空间管理3.4.3 通信协议3.4.4 客户端3.4.5 HDFS体系结构的局限性126ppt精选版3.4 HDFS体系结构3.4.1 HDFS体系结构概述123.4.1 HDFS体系结构概述HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群包括一个名称节点(NameNode)和若干个数据节点(DataNode)(如图3-4所示)。名称节点作为中心服务器,负责管理文件系统的命名空间及客户端对文件的访问。集群中的数据节点一般是一个节点运行一个数据节点进程,负责处理文件系统客户端的读/写请求,在名称节点的统一调度下进行数据块的创建、删除和复制等操作。每个数据节点的数据实际上是保存在本地Linux文件系统中的3.4.1 HDFS体系结构概述HDFS采用3.4.1 HDFS体系结构概述图3-4HDFS体系结构3.4.1 HDFS体系结构概述图3-4HDFS体系结构3.4.2 HDFS命名空间管理HDFS的命名空间包含目录、文件和块在HDFS1.0体系结构中,在整个HDFS集群中只有一个命名空间,并且只有唯一一个名称节点,该节点负责对这个命名空间进行管理HDFS使用的是传统的分级文件体系,因此,用户可以像使用普通文件系统一样,创建、删除目录和文件,在目录间转移文件,重命名文件等3.4.2 HDFS命名空间管理HDFS的命名空间包含目录、3.4.3 通信协议HDFS是一个部署在集群上的分布式文件系统,因此,很多数据需要通过网络进行传输所有的HDFS通信协议都是构建在TCP/IP协议基础之上的客户端通过一个可配置的端口向名称节点主动发起TCP连接,并使用客户端协议与名称节点进行交互名称节点和数据节点之间则使用数据节点协议进行交互客户端与数据节点的交互是通过RPC(RemoteProcedureCall)来实现的。在设计上,名称节点不会主动发起RPC,而是响应来自客户端和数据节点的RPC请求3.4.3 通信协议HDFS是一个部署在集群上的分布式文件系3.4.4 客户端客户端是用户操作HDFS最常用的方式,HDFS在部署时都提供了客户端HDFS客户端是一个库,暴露了HDFS文件系统接口,这些接口隐藏了HDFS实现中的大部分复杂性严格来说,客户端并不算是HDFS的一部分客户端可以支持打开、读取、写入等常见的操作,并且提供了类似Shell的命令行方式来访问HDFS中的数据此外,HDFS也提供了JavaAPI,作为应用程序访问文件系统的客户端编程接口3.4.4 客户端客户端是用户操作HDFS最常用的方式,HD3.4.5 HDFS体系结构的局限性HDFS只设置唯一一个名称节点,这样做虽然大大简化了系统设计,但也带来了一些明显的局限性,具体如下:(1)命名空间的限制:名称节点是保存在内存中的,因此,名称节点能够容纳的对象(文件、块)的个数会受到内存空间大小的限制。(2)性能的瓶颈:整个分布式文件系统的吞吐量,受限于单个名称节点的吞吐量。(3)隔离问题:由于集群中只有一个名称节点,只有一个命名空间,因此,无法对不同应用程序进行隔离。(4)集群的可用性:一旦这个唯一的名称节点发生故障,会导致整个集群变得不可用。3.4.5 HDFS体系结构的局限性HDFS只设置唯一一个名3.5 HDFS存储原理3.5.1 冗余数据保存3.5.2 数据存取策略3.5.3 数据错误与恢复133ppt精选版3.5 HDFS存储原理3.5.1 冗余数据保存133ppt3.5.1 冗余数据保存
作为一个分布式文件系统,为了保证系统的容错性和可用性,HDFS采用了多副本方式对数据进行冗余存储,通常一个数据块的多个副本会被分布到不同的数据节点上,如图3-5所示,数据块1被分别存放到数据节点A和C上,数据块2被存放在数据节点A和B上。这种多副本方式具有以下几个优点:(1)加快数据传输速度(2)容易检查数据错误(3)保证数据可靠性图3-5HDFS数据块多副本存储3.5.1 冗余数据保存作为一个分布式文件系3.5.2 数据存取策略1.数据存放Block的副本放置策略第一个副本:放置在上传文件的数据节点;如果是集群外提交,则随机挑选一台磁盘不太满、CPU不太忙的节点第二个副本:放置在与第一个副本不同的机架的节点上第三个副本:与第一个副本相同机架的其他节点上更多副本:随机节点3.5.2 数据存取策略1.数据存放Block的副本放置策略3.5.2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年中国酸奶乳化稳定剂行业投资前景及策略咨询研究报告
- 2024至2030年中国营养清爽洗发露行业投资前景及策略咨询研究报告
- 甲硝西泮行业深度研究报告
- 2024至2030年中国消防专用砍刀行业投资前景及策略咨询研究报告
- 2024年不锈钢茶池项目可行性研究报告
- 2024至2030年绣花挂鞋项目投资价值分析报告
- 宠物安全教育
- 2024至2030年接壳项目投资价值分析报告
- 2024年调味马哈鱼干项目可行性研究报告
- 2024年耐磨陶瓷项目可行性研究报告
- DB12T 1344-2024 城市轨道交通固定资产分类与编码地方标准
- 人教版(2024)七年级地理上册5.1《人口与人种》精美课件
- 企业绿色供应链建设实施方案
- 运动治疗技术智慧树知到答案2024年白城医学高等专科学校
- 新苏教版三年级上册科学全册知识点
- 智能交通系统智慧树知到答案2024年山东大学
- 2024年农艺工:农作物植保员专业技术师知识考试题与答案
- 煤气退火炉控制系统毕业设计说明书
- 2024版专升本宣讲课件完整版
- 2025数学步步高大一轮复习讲义人教A版复习讲义含答案
- 因式分解(分组分解法)练习100题及答案
评论
0/150
提交评论