大数据技术原理与应用-完整版.ppt

上传人:暗伤 文档编号:83043856 上传时间:2023-03-28 格式:PPT 页数:769 大小:47.96MB
返回 下载 相关 举报
大数据技术原理与应用-完整版.ppt_第1页
第1页 / 共769页
大数据技术原理与应用-完整版.ppt_第2页
第2页 / 共769页
点击查看更多>>
资源描述

《大数据技术原理与应用-完整版.ppt》由会员分享,可在线阅读,更多相关《大数据技术原理与应用-完整版.ppt(769页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、大数据技术原理与应用大数据技术原理与应用主讲教师:课程特色搭建起通向“大数据知识空间”的桥梁和纽带构建知识体系、阐明基本原理引导初级实践、了解相关应用为学生在大数据领域“深耕细作”奠定基础、指明方向内容提要n本课程系统介绍了大数据相关知识,共有13章n系统地论述了大数据的基本概念、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、分布式并行编程模型MapReduce、流计算、图计算、数据可视化以及大数据在互联网、生物医学和物流等各个领域的应用n在Hadoop、HDFS、HBase和MapReduce等重要章节,安排了入门级的实践操作,让学生

2、更好地学习和掌握大数据关键技术篇章安排第一篇:大数据基础篇第二篇:大数据存储篇第三篇:大数据处理与分析篇第四篇:大数据应用篇第一篇:大数据基础篇第二篇:大数据存储篇第三篇:大数据处理与分析篇第四篇:大数据应用篇各章内容第一章大数据概述第二章大数据处理架构Hadoop第三章分布式文件系统HDFS第四章分布式数据库HBase第五章NoSQL数据库第六章云数据库第七章MapReduce第八章流计算第九章图计算第十章数据可视化第十一章大数据在互联网领域的应用第十二章大数据在生物医学领域的应用(自学)第十三章大数据的其他应用(自学)第一第一章章 大数据概述大数据概述提纲1.1大数据时代大数据时代1.2大

3、数据概念大数据概念1.3大数据的影响大数据的影响1.4大数据的应用大数据的应用1.5大数据关键技术大数据关键技术1.6大数据计算模式大数据计算模式1.7大数据产业大数据产业1.8大数据与云计算、物联网的大数据与云计算、物联网的关系关系1.1大数据时代1.1.1第三次信息化浪潮n根据IBM前首席执行官郭士纳的观点,IT领域每隔十五年就会迎来一次重大变革信息化浪潮信息化浪潮发发生生时间时间标标志志解决解决问题问题代表企代表企业业第一次浪潮1980年前后个人计算机信息处理Intel、AMD、IBM、苹果、微软、联想、戴尔、惠普等第二次浪潮1995年前后互联网信息传输雅虎、谷歌、阿里巴巴、百度、腾讯等

4、第三次浪潮2010年前后物联网、云计算和大数据信息爆炸将涌现出一批新的市场标杆企业表表1-1三次信息化浪潮三次信息化浪潮1.1.2信息科技为大数据时代提供技术支撑图1-1存储价格随时间变化情况1.存储设备容量不断增加,速度不断提升,存储设备容量不断增加,速度不断提升,价格却在不断下降价格却在不断下降1.2信息科技为大数据时代提供技术支撑来自斯威本科技大学(SwinburneUniversityofTechnology)的研究团队,在2013年6月29日刊出的自然通讯(NatureCommunications)杂志的文章中,描述了一种全新的数据存储方式,可将1PB(1024TB)的数据存储到一张

5、仅DVD大小的聚合物碟片上。1.1.2信息科技为大数据时代提供技术支撑图1-3CPU晶体管数目随时间变化情况2.CPU处理能力大幅提升处理能力大幅提升1.1.2信息科技为大数据时代提供技术支撑摩尔定律:CPU性能每隔18个月提高一倍,价格下降一半图1-4网络带宽随时间变化情况3.网络带宽不断增加网络带宽不断增加1.1.2信息科技为大数据时代提供技术支撑1.1.3数据产生方式的变革促成大数据时代的来临图1-5数据产生方式的变革1.1.4 大数据的发展历程阶段阶段时间时间内容内容第一阶段:萌芽期上世纪90年代至本世纪初随着数据挖掘理论和数据库技术的逐步成熟,一批商业智能工具和知识管理技术开始被应用

6、,如数据仓库、专家系统、知识管理系统等。第二阶段:成熟期本世纪前十年Web2.0应用迅猛发展,非结构化数据大量产生,传统处理方法难以应对,带动了大数据技术的快速突破,大数据解决方案逐渐走向成熟,形成了并行计算与分布式系统两大核心技术,谷歌的GFS和MapReduce等大数据技术受到追捧,Hadoop平台开始大行其道第三阶段:大规模应用期2010年以后大数据应用渗透各行各业,数据驱动决策,信息社会智能化程度大幅提高表表1-2大数据发展的三个阶段大数据发展的三个阶段1.2大数据概念(4V)1.2.1 数据量大n根据IDC作出的估测,数据一直都在以每年50%的速度增长,也就是说每两年就增长一倍(大数

7、据摩尔定律)n人类在最近两年产生的数据量相当于之前产生的全部数据量n预计到2020年,全球将总共拥有35ZB的数据量,相较于2010年,数据量将增长近30倍1.2.2 数据类型繁多n大数据是由结构化和非结构化数据组成的10%的结构化数据,存储在数据库中90%的非结构化数据,它们与人类信息密切相关p科学研究基因组LHC加速器地球与空间探测p企业应用Email、文档、文件应用日志交易记录pWeb1.0数据文本图像视频pWeb2.0数据查询日志/点击流Twitter/Blog/SNSWiki1.2.3 处理速度快p从数据的生成到消耗,时间窗口非常小,从数据的生成到消耗,时间窗口非常小,可用于生可用于

8、生成决策的时间非常少成决策的时间非常少p1秒定律:这一点也是和传统的数据挖掘技术有着秒定律:这一点也是和传统的数据挖掘技术有着本质的不同本质的不同1.2.4 价值密度低价值密度低,商业价值高价值密度低,商业价值高以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒,但是具有很高的商业价值1.3大数据的影响图灵奖获得者、著名数据库专家JimGray博士观察并总结人类自古以来,在科学研究上,先后历经了实验、理论、计算和数据四种范式实验理论计算数据1.3大数据的影响n在思维方式方面,大数据完全颠覆了传统的思维方式:全样而非抽样效率而非精确相关而非因果1.3大数据的影响n在社会发展方面,大数据

9、决策逐渐成为一种新的决大数据决策逐渐成为一种新的决策方式策方式,大数据应用有力促进了信息技术与各行业大数据应用有力促进了信息技术与各行业的深度融合的深度融合,大数据开发大大推动了新技术和新应大数据开发大大推动了新技术和新应用的不断涌现用的不断涌现n在就业市场方面,大数据的兴起使得数据科学家成为热门职业n在人才培养方面,大数据的兴起,将在很大程度上改变中国高校信息技术相关专业的现有教学和科研体制1.4大数据的应用n大数据无处不在,包括金融、汽车、零售、餐饮、电信、能源、政务、医疗、体育、娱乐等在内的社会各行各业都已经融入了大数据的印迹典型的大数据应用实例KevinSpaceyDavidFinch

10、er英国同名小说纸牌屋风靡全球的美剧纸牌屋大数据分析典型的大数据应用实例从谷歌流感趋势看大数据的应用价值“谷歌流感趋势”,通过跟踪搜索词相关数据来判断全美地区的流感情况1.5大数据关键技术表1-5 大数据技术的不同层面及其功能技技术层术层面面功能功能数据采集利用ETL工具将分布的、异构数据源中的数据如关系数据、平面数据文件等,抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础;或者也可以把实时采集的数据作为流计算系统的输入,进行实时处理分析数据存储和管理利用分布式文件系统、数据仓库、关系数据库、NoSQL数据库、云数据库等,实现对结构化、半

11、结构化和非结构化海量数据的存储和管理数据处理与分析利用分布式并行编程模型和计算框架,结合机器学习和数据挖掘算法,实现对海量数据的处理和分析;对分析结果进行可视化呈现,帮助人们更好地理解数据、分析数据数据隐私和安全在从大数据中挖掘潜在的巨大商业价值和学术价值的同时,构建隐私数据保护体系和数据安全体系,有效保护个人隐私和数据安全1.5大数据关键技术分布式存储分布式处理GFSHDFSBigTableHBaseNoSQL(键值、列族、图形、文档数据库)NewSQL(如:SQLAzure)MapReduce大数据两大核心技术1.6大数据计算模式大数据大数据计计算模式算模式解决解决问题问题代表代表产产品品

12、批处理计算针对大规模数据的批量处理MapReduce、Spark等流计算针对流数据的实时计算Storm、S4、Flume、Streams、Puma、DStream、SuperMario、银河流数据处理平台等图计算针对大规模图结构数据的处理Pregel、GraphX、Giraph、PowerGraph、Hama、GoldenOrb等查询分析计算大规模数据的存储管理和查询分析Dremel、Hive、Cassandra、Impala等表1-3大数据计算模式及其代表产品1.7大数据产业n大数据产业是指一切与支撑大数据组织管理和价值发现相关的企业经济活动的集合产业链环节产业链环节包含内容包含内容IT基础

13、设施层包括提供硬件、软件、网络等基础设施以及提供咨询、规划和系统集成服务的企业,比如,提供数据中心解决方案的IBM、惠普和戴尔等,提供存储解决方案的EMC,提供虚拟化管理软件的微软、思杰、SUN、Redhat等数据源层大数据生态圈里的数据提供者,是生物大数据(生物信息学领域的各类研究机构)、交通大数据(交通主管部门)、医疗大数据(各大医院、体检机构)、政务大数据(政府部门)、电商大数据(淘宝、天猫、苏宁云商、京东等电商)、社交网络大数据(微博、微信、人人网等)、搜索引擎大数据(百度、谷歌等)等各种数据的来源数据管理层包括数据抽取、转换、存储和管理等服务的各类企业或产品,比如分布式文件系统(如H

14、adoop的HDFS和谷歌的GFS)、ETL工具(Informatica、Datastage、Kettle等)、数据库和数据仓库(Oracle、MySQL、SQL Server、HBase、GreenPlum等)数据分析层包括提供分布式计算、数据挖掘、统计分析等服务的各类企业或产品,比如,分布式计算框架MapReduce、统计分析软件SPSS和SAS、数据挖掘工具Weka、数据可视化工具Tableau、BI工具(MicroStrategy、Cognos、BO)等等数据平台层包括提供数据分享平台、数据分析平台、数据租售平台等服务的企业或产品,比如阿里巴巴、谷歌、中国电信、百度等数据应用层提供智能

15、交通、智慧医疗、智能物流、智能电网等行业应用的企业、机构或政府部门,比如交通主管部门、各大医疗机构、菜鸟网络、国家电网等1.8大数据与云计算、物联网的关系n云计算、大数据和物联网代表了IT领域最新的技术发展趋势,三者相辅相成,既有联系又有区别1.8.1云计算n云计算实现了通过网络提供可伸缩的、廉价的分布式计算能力,用户只需要在具备网络接入条件的地方,就可以随时随地获得所需的各种IT资源图1-7云计算的服务模式和类型1.云计算概念云计算概念1.8.1云计算InfrastructureasaServicePlatformasaServiceSoftwareasaServiceSaaSPaaSIaa

16、SGoogleApps,Microsoft“Software+Services”IBMITfactory,GoogleAppEngine,FAmazonEC2,IBMBlueCloud,SunGridServerStorageServerStorageVisualizationInfrastructurePlatformApplication从一个集中的系统部署软件,使之在一台本地计算机上(或从云中远程地)运行的一个模型。由于是计量服务,SaaS允许出租一个应用程序,并计时收费IaaS将基础设施(计算资源和存储)作为服务出租PaaS类似于IaaS,但是它包括操作系统和围绕特定应用的必需的服务S

17、aaS1.8.1云计算n云计算关键技术包括:虚拟化、分布式存储、分布式计算、多租户等2.云计算关键技术云计算关键技术1.8.1云计算n云计算数据中心是一整套复杂的设施,包括刀片服务器、宽带网络连接、环境控制设备、监控设备以及各种安全装置等n数据中心是云计算的重要载体,为云计算提供计算、存储、带宽等各种硬件资源,为各种平台和应用提供运行支撑环境n全国各地推进数据中心建设3.云计算数据中心云计算数据中心1.8.1云计算n政务云上可以部署公共安全管理、容灾备份、城市管理、应急管理、智能交通、社会保障等应用,通过集约化建设、管理和运行,可以实现信息资源整合和政务资源共享,推动政务管理创新,加快向服务型

18、政府转型n教育云可以有效整合幼儿教育、中小学教育、高等教育以及继续教育等优质教育资源,逐步实现教育信息共享、教育资源共享及教育资源深度挖掘等目标n中小企业云能够让企业以低廉的成本建立财务、供应链、客户关系等管理应用系统,大大降低企业信息化门槛,迅速提升企业信息化水平,增强企业市场竞争力n医疗云可以推动医院与医院、医院与社区、医院与急救中心、医院与家庭之间的服务共享,并形成一套全新的医疗健康服务系统,从而有效地提高医疗保健的质量4.云计算应用云计算应用1.8.1云计算n云计算产业作为战略性新兴产业,近些年得到了迅速发展,形成了成熟的产业链结构,产业涵盖硬件与设备制造、基础设施运营、软件与解决方案

19、供应商、基础设施即服务(IaaS)、平台即服务(PaaS)、软件即服务(SaaS)、终端设备、云安全、云计算交付/咨询/认证等环节5.云计算产业云计算产业1.8.1云计算图1-8云计算产业链5.云计算产业云计算产业1.8.2物联网n物联网是物物相连的互联网,是互联网的延伸,它利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化和远程管理控制1.物联网概念物联网概念1.8.2物联网1.物联网概念物联网概念图1-9物联网体系架构1.8.2物联网n物联网中的关键技术包括识别和感知技术(二维码、RFID、传感器等)、网络与通信技术、数

20、据挖掘与融合技术等2.物联网关键技术物联网关键技术图1-10矩阵式二维码图1-11采用RFID芯片的公交卡图1-12不同类型的传感器1.8.2物联网n物联网已经广泛应用于智能交通、智慧医疗、智能家居、环保监测、智能安防、智能物流、智能电网、智慧农业、智能工业等领域,对国民经济与社会发展起到了重要的推动作用3.物联网应用物联网应用1.8.2物联网n完整的物联网产业链主要包括核心感应器件提供商、感知层末端设备提供商、网络提供商、软件与行业解决方案提供商、系统集成商、运营及服务提供商等六大环节4.物联网产业物联网产业1.8.2物联网图1-8物联网产业链4.物联网产业物联网产业1.8.3大数据与云计算

21、、物联网的关系n云计算、大数据和物联网代表了IT领域最新的技术发展趋势,三者既有区别又有联系图1-9大数据、云计算和物联网之间的关系本章小结n本章介绍了大数据技术的发展历程,并指出信息科技的不断进步为大数据时代提供了技术支撑,数据产生方式的变革促成了大数据时代的来临n大数据具有数据量大、数据类型繁多、处理速度快、价值密度低等特点,统称“4V”。大数据对科学研究、思维方式、社会发展、就业市场和人才培养等方面,都产生了重要的影响,深刻理解大数据的这些影响,有助于我们更好把握学习和应用大数据的方向n大数据在金融、汽车、零售、餐饮、电信、能源、政务、医疗、体育、娱乐等在内的社会各行各业都得到了日益广泛

22、的应用,深刻地改变着我们的社会生产和日常生活本章小结n大数据并非单一的数据或技术,而是数据和大数据技术的综合体。大数据技术主要包括数据采集、数据存储和管理、数据处理与分析、数据安全和隐私保护等几个层面的内容n大数据产业包括IT基础设施层、数据源层、数据管理层、数据分析层、数据平台层和数据应用层,在不同层面,都已经形成了一批引领市场的技术和企业n本章最后介绍了云计算和物联网的概念和关键技术,并阐述了大数据、云计算和物联网三者之间的区别与联系第二章 大数据处理架构Hadoop提纲2.1概述概述2.2Hadoop项目结构项目结构2.3Hadoop的安装与使用的安装与使用2.4Hadoop集群的部署与

23、使用集群的部署与使用2.1 概述n2.1.1Hadoop简介n2.1.2Hadoop发展简史n2.1.3Hadoop的特性n2.1.4Hadoop的应用现状Hadoop的标志2.1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构Hadoop是基于Java语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中Hadoop的核心是分布式文件系统HDFS(HadoopDistributedFileSystem)和MapReduceHadoop被公认为行业大数据标准开源软件,在分布式环境下提供了海量数据的

24、处理能力几乎所有主流厂商都围绕Hadoop提供开发工具、开源软件、商业化工具和技术服务,如谷歌、雅虎、微软、思科、淘宝等,都支持Hadoop2.1.2 Hadoop发展简史 Hadoop最初是由ApacheLucene项目的创始人DougCutting开发的文本搜索库。Hadoop源自始于2002年的ApacheNutch项目一个开源的网络搜索引擎并且也是Lucene项目的一部分在2004年,Nutch项目也模仿GFS开发了自己的分布式文件系统NDFS(NutchDistributedFileSystem),也就是HDFS的前身2004年,谷歌公司又发表了另一篇具有深远影响的论文,阐述了Map

25、Reduce分布式编程思想2005年,Nutch开源实现了谷歌的MapReduce2.1.2 Hadoop发展简史到了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

26、从此名声大震,迅速发展成为大数据时代最具影响力的开源分布式开发平台,并成为事实上的大数据处理标准2.1.3 Hadoop的特性 Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的,它具有以下几个方面的特性:高可靠性高效性高可扩展性高容错性成本低运行在Linux平台上支持多种编程语言2.1.3 Hadoop的应用现状 Hadoop凭借其突出的优势,已经在各个领域得到了广泛的应用,而互联网领域是其应用的主阵地2007年,雅虎在Sunnyvale总部建立了M45一个包含了4000个处理器和1.5PB容量的Hadoop集群系统Facebook作为全

27、球知名的社交网站,Hadoop是非常理想的选择,Facebook主要将Hadoop平台用于日志处理、推荐系统和数据仓库等方面国内采用Hadoop的公司主要有百度、淘宝、网易、华为、中国移动等,其中,淘宝的Hadoop集群比较大2.1.3 Hadoop的应用现状Hadoop在企业中的应用架构2.1.4 Apache Hadoop版本演变ApacheHadoop版本分为两代,我们将第一代Hadoop称为Hadoop1.0,第二代Hadoop称为Hadoop2.0第一代Hadoop包含三个大版本,分别是0.20.x,0.21.x和0.22.x,其中,0.20.x最后演化成1.0.x,变成了稳定版,而

28、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.4 Apache Hadoop版本演变nApacheHadoopnHortonworksnCloudera(CDH:ClouderaDistributionHadoop)nMapRn2.1.5 Hadoop各种版本选择Hadoop版本的考虑因素:是否开源(

29、即是否免费)是否有稳定版是否经实践检验是否有强大的社区支持2.1.5 Hadoop各种版本2.2 Hadoop项目结构Hadoop的项目结构不断丰富发展,已经形成一个丰富的Hadoop生态系统2.2 Hadoop项目结构组件组件功能功能HDFS分布式文件系统MapReduce分布式并行编程模型YARN资源管理和调度器Tez运行在YARN之上的下一代Hadoop查询处理框架HiveHadoop上的数据仓库HBaseHadoop上的非关系型的分布式数据库Pig一个基于Hadoop的大规模数据分析平台,提供类似SQL的查询语言PigLatinSqoop用于在Hadoop与传统数据库之间进行数据传递O

30、ozieHadoop上的工作流管理系统Zookeeper提供分布式协调一致性服务Storm流计算框架Flume一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统AmbariHadoop快速部署工具,支持ApacheHadoop集群的供应、管理和监控Kafka一种高吞吐量的分布式发布订阅消息系统,可以处理消费者规模的网站中的所有动作流数据Spark类似于HadoopMapReduce的通用并行框架2.3Hadoop的安装与使用2.3.1Hadoop安装之前的预备知识2.3.2安装Linux虚拟机2.3.3安装双操作系统2.3.4详解Hadoop的安装与使用2.3.1 Hadoop安装

31、之前的预备知识(一)Linux的选择(1)选择哪个Linux发行版?在Linux系统各个发行版中,CentOS系统和Ubuntu系统在服务端和桌面端使用占比最高,网络上资料最是齐全,所以建议使用CentOS或Ubuntu在学习Hadoop方面,虽然两个系统没有多大区别,但是推荐使用Ubuntu操作系统(2)选择32位还是64位?如果电脑比较老或者内存小于2G,那么建议选择32位系统版本的Linux如果内存大于4G,那么建议选择64位系统版本的Linux2.3.1 Hadoop安装之前的预备知识(二)系统安装方式:选择虚拟机安装还是双系统安装建议电脑比较新或者配置内存4G以上的电脑可以选择虚拟机

32、安装电脑较旧或配置内存小于等于4G的电脑强烈建议选择双系统安装,否则,在配置较低的计算机上运行LInux虚拟机,系统运行速度会非常慢鉴于目前教师和学生的计算机硬件配置一般不高,建议在实践教学中采用双系统安装,确保系统运行速度2.3.1 Hadoop安装之前的预备知识(三)关于Linux的一些基础知识Shell是指“提供使用者使用界面”的软件(命令解析器),类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序sudo命令sudo是ubuntu中一种权限管理机制,管理员可以授权给一些普通用户去执行一些需要root权限执行的操作。当使用sudo命令时,就需要输

33、入您当前用户的密码2.3.1 Hadoop安装之前的预备知识输入密码在Linux的终端中输入密码,终端是不会显示任何你当前输入的密码,也不会提示你已经输入了多少字符密码,读者不要误以为键盘没有响应输入法中英文切换linux中英文的切换方式是使用键盘“shift”键来切换,也可以点击顶部菜单的输入法按钮进行切换。Ubuntu自带的Sunpinyin中文输入法已经足够读者使用Ubuntu终端复制粘贴快捷键在Ubuntu终端窗口中,复制粘贴的快捷键需要加上shift,即粘贴是ctrl+shift+v2.3.1 Hadoop安装之前的预备知识(四)Hadoop安装方式单机模式:Hadoop默认模式为非

34、分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单Java进程,方便进行调试伪分布式模式:Hadoop可以在单节点上以伪分布式的方式运行,Hadoop进程以分离的Java进程来运行,节点既作为NameNode也作为DataNode,同时,读取的是HDFS中的文件分布式模式:使用多个节点构成集群环境来运行Hadoop2.3.2 安装Linux虚拟机一、材料和工具1、下载VirtualBox虚拟机软件2.下载UbuntuLTS14.04ISO映像文件二、步骤(一)确认系统版本如果选择的系统是64位Ubuntu系统,那么在安装虚拟机前,我们还要进入BIOS开启CPU的虚拟化2.3.2 安

35、装Linux虚拟机2.3.2 安装Linux虚拟机(二二)安装前的准备安装前的准备1.打开VirtualBox,点击“创建”按钮,创建一个虚拟机2.给虚拟机命名,选择操作系统,版本3.选择内存大小,这里设置的1024M4.创建虚拟硬盘5.选择虚拟硬盘文件类型VDI6.虚拟硬盘选择动态分配7.选择文件存储的位置和容量大小8.点击创建2.3.2 安装Linux虚拟机(二二)安装前的准备安装前的准备2.3.2 安装Linux虚拟机(三三)安装安装Ubuntu2.3.2 安装Linux虚拟机(三三)安装安装Ubuntu2.3.3 安装双操作系统第一步:制作安装U盘具体可参考百度经验文章http:/ H

36、adoop的安装与使用(单机/伪分布式)Hadoop基本安装配置主要包括以下几个步骤:创建Hadoop用户SSH登录权限设置安装Java环境单机安装配置伪分布式安装配置创建Hadoop用户如果安装Ubuntu的时候不是用的“hadoop”用户,那么需要增加一个名为hadoop的用户首先按ctrl+alt+t打开终端窗口,输入如下命令创建新用户:$sudouseraddmhadoops/bin/bash上面这条命令创建了可以登陆的hadoop用户,并使用/bin/bash作为shell创建Hadoop用户接着使用如下命令设置密码,可简单设置为hadoop,按提示输入两次密码:$sudopassw

37、dhadoop可为hadoop用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:$sudoadduserhadoopsudoSSH登录权限设置SSH是什么?是什么?SSH为SecureShell的缩写,是建立在应用层和传输层基础上的安全协议。SSH是目前较可靠、专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH是由客户端和服务端的软件组成,服务端是一个守护进程(daemon),它在后台运行并响应来自客户端的连接请求,客户端包含ssh程序以及像scp(

38、远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序SSH登录权限设置配置配置SSH的原因的原因:Hadoop名称节点(NameNode)需要启动集群中所有机器的Hadoop守护进程,这个过程需要通过SSH登录来实现。Hadoop并没有提供SSH输入密码登录的形式,因此,为了能够顺利登录每台机器,需要将所有机器配置为名称节点可以无密码登录它们安装Java环境nJava环境可选择Oracle的JDK,或是OpenJDKn可以在Ubuntu中直接通过命令安装OpenJDK7$sudoapt-getinstallopenjdk-7-jreopenjdk-7-jdk还需要配置

39、一下JAVA_HOME环境变量具体请参考网络教程:http:/ Hadoop集群的部署与使用2.4.1 Hadoop集群中有哪些节点类型Hadoop框架中最核心的设计是为海量数据提供存储的HDFS和对数据进行计算的MapReduceMapReduce的作业主要包括:(1)从磁盘或从网络读取数据,即IO密集工作;(2)计算数据,即CPU密集工作Hadoop集群的整体性能取决于CPU、内存、网络以及存储之间的性能平衡。因此运营团队在选择机器配置时要针对不同的工作节点选择合适硬件类型一个基本的Hadoop集群中的节点主要有NameNode:负责协调集群中的数据存储DataNode:存储被拆分的数据块

40、JobTracker:协调数据计算任务TaskTracker:负责执行由JobTracker指派的任务SecondaryNameNode:帮助NameNode收集文件系统运行的状态信息2.4.2 集群硬件配置在集群中,大部分的机器设备是作为Datanode和TaskTracker工作的Datanode/TaskTracker的硬件规格可以采用以下方案:4个磁盘驱动器(单盘1-2T),支持JBOD(JustaBunchOfDisks,磁盘簇)2个4核CPU,至少2-2.5GHz16-24GB内存千兆以太网2.4.2 集群硬件配置NameNode提供整个HDFS文件系统的NameSpace(命名空

41、间)管理、块管理等所有服务,因此需要更多的RAM,与集群中的数据块数量相对应,并且需要优化RAM的内存通道带宽,采用双通道或三通道以上内存。硬件规格可以采用以下方案:8-12个磁盘驱动器(单盘1-2T)2个4核/8核CPU16-72GB内存千兆/万兆以太网2.4.2 集群硬件配置SecondaryNameNode在小型集群中可以和NameNode共用一台机器,较大的群集可以采用与NameNode相同的硬件2.4.3 集群规模要多大 Hadoop集群规模可大可小,初始时,可以从一个较小规模的集群开始,比如包含10个节点,然后,规模随着存储器和计算需求的扩大而扩大如果数据每周增大1TB,并且有三个

42、HDFS副本,然后每周需要一个额外的3TB作为原始数据存储。要允许一些中间文件和日志(假定30%)的空间,由此,可以算出每周大约需要增加一台新机器。存储两年数据的集群,大约需要100台机器对于一个小的集群,名称节点(NameNode)和JobTracker运行在单个节点上,通常是可以接受的。但是,随着集群和存储在HDFS中的文件数量的增加,名称节点需要更多的主存,这时,名称节点和JobTracker就需要运行在不同的节点上第二名称节点(SecondaryNameNode)会和名称节点可以运行在相同的机器上,但是,由于第二名称节点和名称节点几乎具有相同的主存需求,因此,二者最好运行在不同节点上2

43、.4.4 集群网络拓扑普通的Hadoop集群结构由一个两阶网络构成每个机架(Rack)有30-40个服务器,配置一个1GB的交换机,并向上传输到一个核心交换机或者路由器(1GB或以上)在相同的机架中的节点间的带宽的总和,要大于不同机架间的节点间的带宽总和2.4.5 集群的建立与安装采购好相关的硬件设备后,就可以把硬件装入机架,安装并运行Hadoop安装Hadoop有多种方法:(1)手动安装(2)自动化安装为了缓解安装和维护每个节点上相同的软件的负担,可以使用一个自动化方法实现完全自动化安装,比如RedHatLinuxKickstart、Debian或者Docker自动化安装部署工具,会通过记录

44、在安装过程中对于各个选项的回答来完成自动化安装过程。2.4.6 Hadoop集群基准测试如何判断一个Hadoop集群是否已经正确安装?可以运行基准测试Hadoop自带有一些基准测试程序,被打包在测试程序JAR文件中用TestDFSIO基准测试,来测试HDFS的IO性能用排序测试MapReduce:Hadoop自带一个部分排序的程序,这个测试过程的整个数据集都会通过洗牌(Shuffle)传输至Reducer,可以充分测试MapReduce的性能2.4.7 在云计算环境中使用HadoopHadoop不仅可以运行在企业内部的集群中,也可以运行在云计算环境中可以在AmazonEC2中运行Hadoop。

45、EC2是一个计算服务,允许客户租用计算机(实例),来运行自己的应用。客户可以按需运行或终止实例,并且按照实际使用情况来付费Hadoop自带有一套脚本,用于在EC2上面运行Hadoop在EC2上运行Hadoop尤其适用于一些工作流。例如,在AmazonS3中存储数据,在EC2上运行集群,在集群中运行MapReduce作业,读取存储在S3中的数据,最后,在关闭集群之前将输出写回S3中;如果长期使用集群,复制S3数据到运行在EC2上的HDFS中,则可以使得数据处理更加高效,因为,HDFS可以充分利用数据的位置,S3则做不到,因为,S3与EC2的存储不在同一个节点上本章小结nHadoop被视为事实上的

46、大数据处理标准,本章介绍了Hadoop的发展历程,并阐述了Hadoop的高可靠性、高效性、高可扩展性、高容错性、成本低、运行在Linux平台上、支持多种编程语言等特性nHadoop目前已经在各个领域得到了广泛的应用,雅虎、Facebook、百度、淘宝、网易等公司都建立了自己的Hadoop集群n经过多年发展,Hadoop项目已经变得非常成熟和完善,包括Common、Avro、Zookeeper、HDFS、MapReduce、HBase、Hive、Chukwa、Pig等子项目,其中,HDFS和MapReduce是Hadoop的两大核心组件n本章最后介绍了如何在Linux系统下完成Hadoop的安装

47、和配置,这个部分是后续章节实践环节的基础第三章 分布式文件系统HDFS提纲3.1分布式文件系统分布式文件系统3.2HDFS简介简介3.3HDFS相关概念相关概念3.4HDFS体系结构体系结构3.5HDFS存储原理存储原理3.6HDFS数据读写过程数据读写过程3.7HDFS编程实践编程实践3.1分布式文件系统n3.1.1计算机集群结构n3.1.2分布式文件系统的结构3.1.1 计算机集群结构分布式文件系统把文件分布存储到多个计算机节点上,成千上万的计算机节点构成计算机集群与之前使用多个处理器和专用高级硬件的并行化处理装置不同的是,目前的分布式文件系统所采用的计算机集群,都是由普通硬件构成的,这就

48、大大降低了硬件上的开销3.1.1 计算机集群结构图3-1计算机集群的基本架构3.1.2 分布式文件系统的结构分布式文件系统在物理结构上是由计算机集群中的多个节点构成的,这些节点分为两类,一类叫“主节点”(MasterNode)或者也被称为“名称结点”(NameNode),另一类叫“从节点”(SlaveNode)或者也被称为“数据节点”(DataNode)3.1.2 分布式文件系统的结构图3-2大规模文件系统的整体结构3.23.2HDFSHDFS简介简介总体而言,HDFS要实现以下目标:兼容廉价的硬件设备兼容廉价的硬件设备流数据读写流数据读写大数据集大数据集简单的文件模型简单的文件模型强大的跨平

49、台兼容性强大的跨平台兼容性HDFS特殊的设计,在实现上述优良特性的同时,也使得自身具有一些应用局限性,主要包括以下几个方面:不适合低延迟数据访问不适合低延迟数据访问无法高效存储大量小文件无法高效存储大量小文件不支持多用户写入及任意修改文件不支持多用户写入及任意修改文件3.3.13.3.1 块块HDFS默认一个块64MB,一个文件被分成多个块,以块作为存储单位块的大小远远大于普通文件系统,可以最小化寻址开销3.3.13.3.1 块块HDFS采用抽象的块概念可以带来以下几个明显的好处:支持大规模文件存储支持大规模文件存储:文件以块为单位进行存储,一个大规模文件可以被分拆成若干个文件块,不同的文件块

50、可以被分发到不同的节点上,因此,一个文件的大小不会受到单个节点的存储容量的限制,可以远远大于网络中任意节点的存储容量简化系统设计简化系统设计:首先,大大简化了存储管理,因为文件块大小是固定的,这样就可以很容易计算出一个节点可以存储多少文件块;其次,方便了元数据的管理,元数据不需要和文件块一起存储,可以由其他系统负责管理元数据适合数据备份适合数据备份:每个文件块都可以冗余存储到多个节点上,大大提高了系统的容错性和可用性3.3.23.3.2 名称节点和数据节点名称节点和数据节点3.3.23.3.2 名称节点和数据节点名称节点和数据节点在HDFS中,名称节点(NameNode)负责管理分布式文件系统

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁