版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大数据应用部署与调优第一章大数据导论1.1大数据的概念1.2大数据的特征1.3大数据关键技术1.4大数据应用场景习题1.1大数据的概念第一章大数据导论1.1.1大数据来源互联网时代,大数据的来源除了专业机构产生的数据,如CERN(欧洲核子研究组织)离子对撞机每秒产生高达40TB的数据,我们每个人也都是数据产生者,同时也是使用者。人类自从发明文字开始,就记录着各种数据,早起数据保存的介质一般是纸张,而且难以分析、加工。随着计算机与存储技术的发展,以及万物互联的过程,数据爆发的趋势势不可挡。1、互联网大数据。2、传统行业大数据。3、音频、视频数据。4、移动设备的实时记录与跟踪。1.1大数据的概念第一章大数据导论互联网大数据:每一分钟,全世界会上传超过5亿张图片,每分钟就有20小时时长的视频被分享。一分钟内,微博、Twitter上新发的数据量超过10万条。1.1.2大数据的分类1.1大数据的概念第一章大数据导论金融行业产生的数据集中在银行资本的运作、股票、证券、期货、货币等市场。传统行业通常指一些固定的企业,如电信、银行、金融、医药、教育、电力等行业。银行业产生的数据集中在用户存款交易、风险贷款抵押、利率市场投放、业务管理等。教育行业产生的数据分两类:一类是常规的结构化数据,如成绩、学籍、就业率、出勤记录等;另一类是非结构化数据,如图片、视频、教案、教学软件、学习游戏等。电网业务数据大致可分为生产数据(如发电量、电压稳定性等数据)、运营数据(如交易电价、售电量、用电客户等数据)和管理数据(如ERP、一体化平台、协同办公等数据)。1.1.2大数据的分类1.1大数据的概念第一章大数据导论音频、视频数据是隐藏着大数据的核心。这些数据结构松散,数量巨大,但很难从中挖掘有意义的结论和有用的信息。是我们最容易忽略的数据来源,而这些恰恰才是真正大数据的来源,分析、挖掘这些资讯可能引发更大的资源与信息。1.1.2大数据的分类1.1大数据的概念第一章大数据导论实时跟踪器运用在航天飞机、气象监测、汽车等领域。现在移动可穿戴设备的广泛应用,企业可以从这些数据中提取非常有用的数据从而获得价值。1.1.2大数据的分类1.1大数据的概念第一章大数据导论1.1.2大数据的分类根据数据类型,按特定方向分析大数据的特征会给我们带来一定的帮助。我们站在不同的角度对大数据进行分类,大体分为以下几种划分形态。1、按数据来源划分。2、按数据形式划分。1.1大数据的概念第一章大数据导论传统企业数据机器和传感器数据社交数据传统企业数据(TraditionalEnterpriseData):包括MIS系统的数据、传统的ERP数据、库存数据以及财务账目数据等。机器和传感器数据(Machine-generated/sensorData):包括呼叫记录(CallDetailRecords)、智能仪表、工业设备传感器、设备日志、交易数据等。
社交数据(SocialData):包括用户行为记录、反馈数据等,如微信,QQ,Twitter、Facebook这样的社交媒体平台。1.1.2大数据的分类1.1大数据的概念第一章大数据导论结构化数据半结构化数据非结构化数据结构化数据由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理能够用数据或统一的结构加以表示。半结构化数据它并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层。JSON格式的数据就属于半结构化数据。非结构化数据,与结构化数据相对的,是不适合以二维表结构来表现的数据,包括各种格式的办公文档、XML、HTML、各类报表、图片和咅频、视频信息等。1.1.2大数据的分类第一章大数据导论1.1大数据的概念1.2大数据的特征1.3大数据关键技术1.4大数据应用场景习题1.2大数据的特征第一章大数据导论4V特征数量大(Volume)从2013年至2020年,人类的数据规模将扩大50倍,且每年18个月翻一番。多样性(Variety)数据类型繁多,随着传感器、智能设备以及社交协作技术的飞速发展,数据也变的更加复杂。速度快(Velocity)在数据处理速度方面,有一个著名的“1秒定律”,即要在秒级时间范围内给出分析结果,超出这个时间,数据就失去价值。
价值高(Value)追求高质量的数据。大数据时代数据的价值就像大浪淘金。第一章大数据导论1.1大数据的概念1.2大数据的特征1.3大数据关键技术1.4大数据应用场景习题1.3大数据关键技术第一章大数据导论1.3.1大数据存储技术010203第一种是采用MPP架构的新型数据库集群,重点面向行业大数据,采用SharedNothing架构,通过列存储、粗粒度索引等多项大数据处理技术,再结合MPP架构高效的分布式计算模式,完成对分析类应用的支撑。第二种是基于Hadoop的技术扩展和封装,围绕Hadoop衍生出相关的大数据技术,应对传统关系型数据库较难处理的数据和场景,例如针对非结构化数据的存储和计算等,充分利用Hadoop开源的优势,伴随相关技术的不断进步,其应用场景也将逐步扩大,目前典型的应用场景就是通过扩展和封装Hadoop来实现对互联网大数据存储、分析的支撑。
第三种是大数据一体机,这是一种专为大数据的分析处理而设计的软、硬件结合的产品,由一组集成的服务器、存储设备、操作系统、数据库管理系统以及为数据查询、处理、分析用途而特别预先安装及优化的软件组成,高性能大数据一体机具有良好的稳定性和纵向扩展性。1.3大数据关键技术第一章大数据导论1.3.2并行计算技术所谓并行计算(ParallelComputing)是指同时使用多种计算资源解决计算问题的过程,是提高计算机系统计算速度和处理能力的一种有效手段。其基本思想是采用多个处理器来协同解决问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理机来并行计算。1.3大数据关键技术第一章大数据导论1.3.3数据分析技术由于大数据复杂多变的特殊属性,目前还没有公认的大数据分析方法体系,不同的学者对大数据分析方法的看法各异。总结起来,包括3种方法体系,如下:面向数据视角的大数据分析方法。面向流程视角的大数据分析方法。面向信息技术视角的大数据分析方法。1.3大数据关键技术第一章大数据导论1.3.4数据可视化技术数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息。数据可视化技术包含以下几个基本概念。数据空间数据可视化数据分析数据开发是由n维属性和m个元素组成的数据集所构成的多维信息空间。是指利用一定的算法和工具对数据进行定量的推演和计算。
指对多维数据进行切片、块、旋转等动作剖析数据,从而能多角度多侧面观察数据。是指将大型数据集中的数据以图形图像形式表示,并利用数据分析和开发工具发现其中未知信息的处理过程。1.3大数据关键技术第一章大数据导论1.3.5数据挖掘技术数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。第一章大数据导论1.1大数据的概念1.2大数据的特征1.3大数据关键技术习题1.4大数据应用场景1.4大数据应用场景第一章大数据导论电商行业大数据应用工业大数据应用金融行业大数据应用医疗行业大数据应用教育行业大数据应用农业大数据应用环境大数据应用智慧城市大数据应用第一章大数据导论1.1大数据的概念1.2大数据的特征1.3大数据关键技术习题1.4大数据应用场景1.什么是大数据?2.大数据的主要特征有哪些?3.大数据有哪些来源4.数据按其形式划分有哪几种?习题:第二章基础云架构2.1云计算简介2.2云计算与大数据的关系2.3私有云平台OpenStack2.4公有云平台阿里云习题2.1云计算简介第二章基础云架构云计算是一种商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。短定义是:“云计算是通过网络按需提供可动态伸缩的廉价计算服务”。2.1.1云计算的概念2.1云计算简介第二章基础云架构云计算按照服务类型大致可以分为三类:基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。2.1.1云计算的概念2.1云计算简介第二章基础云架构由于云计算是多种技术混合演进的结果,其成熟度较高,又有大公司推动,发展极为迅速,谷歌、亚马逊、微软和阿里等大公司是云计算的先行者。2.1.2云计算发展现状2.1云计算简介第二章基础云架构虚拟化机制,它通过对物理资源抽象、映射和展现,将实际物理资源隐藏在其后,为上层系统提供统一的设备使用形式。2.1.3云计算实现机制01海量数据分布式存储管理机制,云计算系统由大量服务器组成,同时为大量用户服务,为保证高可用、高可靠和经济性,云计算采用分布式存储的方式来存储数据。020304分布式计算机制,所谓分布式计算就是把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,交给许多相互独立的计算机协同处理,实现云计算。最后是Web2.0界面交互机制,web2.0也是目前互联网的热门词汇之一,它相对于传统Web1.0,基于XML、A2JAX等技术,更注重用户的交互作用。2.1云计算简介第二章基础云架构2.1.4云计算部署模型私有云(PrivateCloud)是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。私有云拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。即可以部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的物理服务器托管场景,私有云的核心属性是专有资源。私有云服务提供了计算、存储和网络的资源服务,包括硬件虚拟化、集中管理、弹性资源调度等。2.1云计算简介第二章基础云架构2.1.4云计算部署模型公有云(PublicCloud)通常指第三方提供商为用户提供的能够使用的云,一般可通过Internet访问使用。公有云有许多实例,可在整个开放的公有网络中提供服务,其最大意义是能够以低廉的价格,提供有吸引力的服务给最终用户,创造新的业务价值。作为一个支撑平台,能够整合上游的服务(如增值业务,广告)提供者和下游最终用户,打造新的价值链和生态系统。2.1云计算简介第二章基础云架构2.1.4云计算部署模型混合云(HybridCloud)是公有云和私有云两种服务方式的结合体。由于安全原因,并非企业都能在公有云上部署服务,大部分都是将应用部署在混合云模式上。混合云为弹性需求提供了一个很好的基础,比如灾难恢复。即私有云把公有云作为灾难转移的平台,并在需要的时候去使用它。混合云的理念是,使用公有云作为一个选择性的平台,同时选择其他的公有云作为灾难转移平台,以达到数据安全的保护。第二章基础云架构2.1云计算简介2.2云计算与大数据的关系2.3私有云平台OpenStack2.4公有云平台阿里云习题2.2云计算与大数据的关系第二章基础云架构2.2.1云计算与大数据的关系
云计算是技术发展的趋势,技术的发展带动了电子信息社会的快速发展。这就导致了大数据现象的出现,而大数据的快速增长是电子信息社会发展可能面临的问题。云计算与大数据可以结合在一起,大数据需要使用到云中巨大的计算和存储资源。因此,云计算通过为大数据应用提供计算能力,刺激和加速云计算的发展,云计算与大数据相辅相成。云计算中的分布式存储技术有助于管理大数据。2.2云计算与大数据的关系第二章基础云架构节省时间和大量金钱提高效率和灵活性安全和隐患购买和管理一个大到足以进行有效的大数据分析的数据中心可能非常昂贵,更不用说与维护相关的无数技术难题了本地服务器的安装和执行可能需要几周的时间,然后考虑一下存储和数据管理技术的迅速过时,这些技术需要不断更新,从而导致其他低效率。在大数据的收集和分析方面,安全和隐私是最微妙和棘手的问题。更强大的云计算服务提供商每天都在解决这些问题,对个别公司给予无与伦比的关注。2.2.2云计算与大数据相结合的优势第二章基础云架构2.1云计算简介2.3私有云平台OpenStack2.2云计算与大数据的关系2.4公有云平台阿里云习题2.3私有云OpenStack第二章基础云架构2.3.1
OpenStack背景介绍OpenStack既是一个社区,也是一个项目和一个开源软件,提供了一个部署云的操作平台或工具集。用OpenStack易于构建虚拟计算或存储服务的云,既可以为公有云、私有云,也可以为大云、小云提供可扩展、灵活的云计算。2.3私有云OpenStack第二章基础云架构OpenStack的主要服务计算服务Nova网络管理服务Neutron身份认证服务Keystone存储管理服务Cinder对象存储存储Swift镜像服务Glance仪表盘Horizon第二章基础云架构2.1云计算简介2.2云计算与大数据的关系2.4公有云平台阿里云习题2.3私有云平台OpenStack2.4公有云平台阿里云第二章基础云架构2.4.1阿里云简介阿里云在全球18个地域开放了42个可用区,为全球数十亿用户提供可靠的云计算支持。2017年1月阿里云成为奥运会全球指定云服务商,同年8月阿里巴巴财报数据显示,阿里云付费用户超过100万。阿里云为全球客户部署200多个飞天数据中心,通过底层统一的飞天操作系统,为客户提供全球独有的混合云体验。其中,飞天(Apsara)是诞生于2009年2月,由阿里云自主研发、服务全球的超大规模通用计算操作系统,目前为全球200多个国家和地区的创新创业企业、政府、机构等提供服务。它可以将遍布全球的百万级服务器连成一台超级计算机,以在线公共服务的方式为社会提供计算能力,从PC互联网到移动互联网到万物互联网,成为世界新的基础设施。2.4公有云平台阿里云第二章基础云架构阿里云的核心系统是底层的大规模分布式计算系统(飞天)、分布式文件系统以及资源管理和任务调度。2.4.1阿里云简介2.4公有云平台阿里云第二章基础云架构弹性计算服务ECS开放式数据处理服务ODPS开式结构化数据服务OTS对象存储服务OOS关系型数据库RDS2.4.1阿里云简介2.4公有云平台阿里云第二章基础云架构2.4.2计算服务ECS云服务器ECS(ElasticComputeService)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(InfrastructureasaService)级别云计算服务。云服务器ECS免去了客户采购IT硬件的前期准备,让客户像使用水、电、天然气等公共资源一样便捷、高效地使用服务器,实现计算资源的即开即用和弹性伸缩。实例镜像块存储快照安全ECS主要组件:2.4公有云平台阿里云第二章基础云架构2.4.3存储服务阿里云提供针对各种存储资源(块、文件和对象)的低成本、高可靠、高可用的存储服务,涵盖数据备份、归档、容灾等场景。本文介绍阿里云各类存储服务及特性的适用场景、性能、安全、接口和费用模型等,帮助您选择最适合您业务场景和需求的云存储服务。2.4公有云平台阿里云第二章基础云架构对象存储OOS块存储文件存储NAS文件存储CPFS表格存储云存储网关文件存储HDFS2.4.3存储服务2.4公有云平台阿里云第二章基础云架构142563存储类型(StorageClass)存储空间(Bucket)对象(Object)访问密钥(Accesskey)访问域名(Endpoint)地域(Region)2.4.3存储服务2.4公有云平台阿里云第二章基础云架构2.4.4网络服务VPC专有网络VPC全称VirtualPrivateCloud,是用户基于阿里云创建的自定义私有网络,不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例。每个VPC都由一个路由器、至少一个私网网段和至少一个交换机组成,如下图所示。第二章基础云架构2.1云计算简介2.2云计算与大数据的关系2.3私有云平台OpenStack习题2.3公有云平台阿里云1.云计算有哪些特点?2.云计算技术体系结构可以分为哪几层?3.云计算按照部署模型可以分为哪几类?4.OpenStack是什么?5.OpenStack有哪些核心服务?各服务的功能是什么?6.简单列举目前市场主流的公有云平台。7.概述阿里云的体系结构及核心服务。习题:第三章大数据业务流程3.1数据采集3.2数据预处理ETL3.3大数据存储3.5大数据应用场景3.4大数据处理习题3.1数据采集第三章大数据业务流程3.1.1数据采集的概念数据采集(DAQ)又称数据获取,是大数据生命周期中的第一个环节,通过RFID射频数据、传感器数据、社交网络数据、移动互联网数据等方式获得各种类型的结构化、半结构化及非结构化的海量数据。3.1
数据采集第三章大数据业务流程3.1.1数据采集研究的分类智能感知层智能感知层包括数据传感体系、网络通信体系、传感适配体系、智能识别体系及软硬件资源接入系统,实现对结构化、半结构化、非结构化的海量数据的智能化识别、定位、跟踪、接入、传输、信号转换、监控、初步处理和管理等。基础支撑层基础支撑层提供大数据服务平台所需的虚拟服务器,结构化、半结构化及非结构化数据的数据库及物联网络资源等基础支撑环境。3.1
数据采集第三章大数据业务流程3.1.1“全而细”的采集准则“全”是指各类数据都要采集到。“细”则是说在采集阶段要尽可能的采集到每一个数据。3.1
数据采集第三章大数据业务流程3.1.2数据采集的工具3.1
数据采集第三章大数据业务流程Event在Flume中表示数据传输的一个最小单位。参照右图可以看得出Agent就是Flume的一个部署实例,一个完整的Agent中包含了三个组件Source、Channel和Sink,Source是指数据的来源和方式,Channel是一个数据的缓冲池,Sink定义了数据输出的方式和目的地。3.1.2数据采集的工具3.1
数据采集第三章大数据业务流程3.1.2数据采集的工具3.1
数据采集第三章大数据业务流程1、Source接收事件,交给其Channel处理器处理事件。2、处理器通过拦截器Interceptor,对事件一些处理,比如压缩解码,正则拦截,时间戳拦截,分类等。3、经过拦截器处理过的事件再传给Channel选择器,将事件写入相应的Channel。4、最后由Sink处理器处理各个Channel的事件。3.1.2数据采集的工具3.1
数据采集第三章大数据业务流程高稳定性:通过O(1)的磁盘数据结构提供消息的持久化。高吞吐量:即便是非常普通的硬件Kafka也可以支持每秒钟数百万的消息。支持通过Kafka服务器和消费机集群对消息进行划分。支持Hadoop并行数据加载。3.1.2数据采集的工具3.1
数据采集第三章大数据业务流程3.1.2数据采集的工具3.1
数据采集第三章大数据业务流程Producer:Producer的任务是向Broker发送数据。Broker:Broker采取许多不同的策略提高数据处理的效率。Consumer:Consumer可以将日志信息加载到中央存储系统中。3.1.2数据采集的工具3.1
数据采集第三章大数据业务流程生产者定期向主题发送消息消费者会定期请求Kafka需要新的消息添加标题消费者订阅特定主题队列消息/用户组的工作流3.1.2数据采集的工具3.1
数据采集第三章大数据业务流程3.1.3数据采集的方法系统日志采集方法网络数据采集方法数据库采集3.1
数据采集第三章大数据业务流程“网络数据采集”是利用互联网搜索引擎技术对数据进行针对性、行业性、精准性的抓取,并按照一定规则和筛选标准将数据进行归类,形成数据库文件的一个过程。3.1.3数据采集的方法3.1
数据采集第三章大数据业务流程企业会使用传统的关系型数据库MySQL和Oracle等来存储数据。这些数据库中存储的海量数据,相对来说结构化更强,也是大数据的主要来源之一。3.1.3数据采集的方法3.1
数据采集第三章大数据业务流程采集方法支持异构数据库之间的实时数据同步和复制,基于的理论是对各种数据库的Log日志文件进行分析,然后进行复制。3.1.3数据采集的方法第三章大数据业务流程3.1数据采集3.2数据预处理ETL3.3大数据存储3.5大数据应用场景3.4大数据处理习题3.2
数据预处理ETL第三章大数据业务流程3.2.1数据清洗数据清洗是发现并纠正数据文件中可识别的错误的最后一道程序,包括对数据一致性的检查、无效值和缺失值得处理。3.2
数据预处理ETL第三章大数据业务流程3.2.1数据清洗2.错误数据这一类错误产生的原因往往是业务系统不够健全,在接收输入信息后没有进行判断直接将数据写入后台数据库导致的。1.残缺数据这一类数据主要是因为部分信息缺失,如公司的名称、客户的区域信息等数据。3.重复数据这一类数据多出现在维护表中,是将重复数据记录的所有字段导出来,让客户确认并整理。3.2
数据预处理ETL第三章大数据业务流程3.2.1数据清洗01缺失的值必须要用手工来进行清理。当然,某些缺失值可以从它本身数据源或其他数据源中推导出来,可以用平均值、最大值或更为复杂的概率估计代替缺失的值,从而达到清理的目的。02用统计分析的方法识别错误值或异常值,如数据偏差、识别不遵守分布的值,也可以用简单规则库检查数据值,或使用不同属性间的约束来检测和清理数据。03数据库中属性值相同的情况被认定为是重复记录。通过判断记录间的属性值是否相同来检测记录是否相等,相等的记录合并为一条记录。填充缺失值修改错误值消除重复记录3.2
数据预处理ETL第三章大数据业务流程3.2.2数据集成概念将不同应用系统、不同数据形式,在原应用系统不做任何改变的条件下,进行数据采集、转换好储存的数据整合过程。目的解决多重数据储存或合并时所产生的数据不一致、数据重复或冗余的问题,以提高后续数据分析的精确度和速度。3.2
数据预处理ETL第三章大数据业务流程异构性集成的数据模型异构,其主要表现在数据语义及数据源的使用环境等。分布性数据源是异地分布的,依赖网络进行数据的传输,网络在传输过程中对网络质量和安全性是个挑战。自治性数据源可以在不通知集成系统的前提下改变自身的结构和数据。3.2.2数据集成3.2
数据预处理ETL第三章大数据业务流程3.2.3数据转换概念数据转换(DataTransfer)时采用线性或非线性的数学变换方法将多维数据压缩成较少维的数据,消除它们在时间、空间、属性及精度等特征表现方面的差异。实际上就是将数据从一种表示形式变为另一种表现形式的过程。
原因因为每一个软件对与之对应的数据库的架构与数据的存储形式是不一样的,因此就需要数据转换。由于数据量在不断地增加,原来数据构架的不合理,不能满足各方面的要求,问题日渐暴露,也会产生数据转换。3.2
数据预处理ETL第三章大数据业务流程概念数据归约是指在尽可能保持数据原貌的前提下,最大限度地精简数据量保持数据的原始状态。3.2.4数据规约3.2
数据预处理ETL第三章大数据业务流程特征归约特征归约是将不重要的或不相关的特征从原有特征中删除,或者通过对特征进行重组和比较来减少个数。样本归约样本归约就是从数据集中选出一个有代表性的子集作为样本。特征值归约特征值归约是特征值离散化技术,它将连续型特征的值离散化,使之成为少量的区间,每个区间映射到一个离散符号。3.2.4数据规约3.2
数据预处理ETL第三章大数据业务流程对数据的描述,特征的挑选,归约或转换决定了数据挖掘方案的质量。在实践中,特征的数量可达到数百万计,如果我们在对数据进行分析的时候,只需要上白条样本,就需要进行维归约,以挖掘出可靠的模型;另外,高维度引起的数据超负,会使一些数据挖掘算法不实用,唯一的方法也就是进行维归约。在进行数据挖掘准备时进行标准数据归约操作,计算时间、预测/描述精度和数据挖掘模型的描述将让我们清楚地知道这些操作中将得到和失去的信息。3.2.4数据规约3.2
数据预处理ETL第三章大数据业务流程ETL(Extract-Transform-Load)是一种数据仓库技术,即数据抽取(Extract)、转换(Transform)、装载(Load)的过程,它的本质是数据流动的过程,使不同异构数据源流向统一的目标数据。ETL负责将关系数据、平面数据文件等分布式、异构数据源的数据提取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集中,成为在线分析处理和数据挖掘的基础,是构建数据仓库的重要环节。3.2.5常用ETL工具3.2
数据预处理ETL第三章大数据业务流程3.2.5常用ETL工具3.2
数据预处理ETL第三章大数据业务流程(1)可以分担数据库系统的负载。(2)相对于ELT架构可以实现更为复杂的数据转化逻辑。(3)采用单独的硬件服务器。(4)与底层的数据库数据存储无关。3.2.5常用ETL工具3.2
数据预处理ETL第三章大数据业务流程3.2.5常用ETL工具3.2
数据预处理ETL第三章大数据业务流程B
Talend可同步数据仓库的数据到数据库中,并且提供基于EclipseRCP的图形操作界面。C
Scriptella是一个开源并采用Java开发的ETL(抽取-转换-加载)工具和一个脚本执行工具。Scriptella可以在单个的ETL文件中与多个数据源运行。AKettle是一款国外开源的ETL工具,纯Java编写,并且无须安装,数据抽取高效稳定。3.2.5常用ETL工具第三章大数据业务流程3.1数据采集3.2数据预处理ETL3.3大数据存储3.5大数据应用场景3.4大数据处理习题3.3
大数据存储第三章大数据业务流程面对大数据的爆炸式增长,且具有大数据量、异构型、高时效性的需求时,数据的存储不仅仅有存储容量的压力,还给系统的存储性能、数据管理乃至大数据的应用方面带来了挑战。为了应对大数据对存储系统的挑战,数据存储系统能力的提升主要有以下3个方面:1提升系统存储容量2提升系统的吞吐量3系统的容错性3.3.1大数据存储困境3.3
大数据存储第三章大数据业务流程DASNASsAN设备直连的模式DAS直连式存储通过高速的网络交换机连接存储设备和服务器主机NAS网络接入存储提供格式统一的、数据块级访问能力的一种专用局域网络SAN存储区域网络云通过分布式集群及服务器虚拟化等技术将海量设备构建成共享存储资源池,并提供服务云存储3.3.1大数据存储困境3.3
大数据存储第三章大数据业务流程将一些基础的数据操作功能(如检索、更新等)在单独的专用硬件上实现,而将通用计算资源和I/O通道释放出来用于其他复杂处理,从而实现高效的数据访问。逐步实现了用于支持大规模高速数据库访问的专用计算机和硬件系统,即数据库机(DatabaseMachine)。3.3.1大数据存储困境3.3
大数据存储第三章大数据业务流程基于集群的数据容错在多个节点中,对数据进冗余储存,从而确保单单个节点故障不会影响到系统的正常运行磁盘双工技术采用了两个独立的磁盘控制器分别控制两个磁盘磁盘镜像和磁盘双工基于RAID的磁盘容错通过多块硬盘组成硬盘阵列,并通过分散数据存储的设计,使数据存储容错性变高。3.3.1大数据存储困境3.3
大数据存储第三章大数据业务流程将虚拟资源请求均匀地分配到节点上,然后进行节点内部设备级别的资源映射存储资源管理方法将有限数量的资源按需求动态共享给多个用户使用支持多用户使用和环境隔离的资源机制通过HDFS建立在大型集群分布式的文件系统在通过Hive和HBase实现数据的查询和处理基于Hadoop的大数据存储机制3.3.1大数据存储困境3.3
大数据存储第三章大数据业务流程结构化数据由二维表结构来逻辑表达和实现的数据,严格地遵循数据格式与长度规范,主要通过关系型数据库进行存储和管理。非结构化数据数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。半结构化数据是结构化数据的一种形式,虽不符合关系型数据库的数据模型结构,但具有一定的结构性,相比结构化数据相比更灵活。3.3.2大数据存储中的数据结构3.3
大数据存储第三章大数据业务流程结构化数据非结构化数据半结构化数据主键/ID课程/NAME类型/TYPE1Oracle关系型数据库2Hadoop分布式架构3Java编程语言3.3.2大数据存储中的数据结构分布式系统是用多台计算机来解决单个计算机无法解决的计算、存储等问题。分布式系统是独立计算机的集合,这些计算机对用户来说就像一个单独的相关系统。3.3
大数据存储第三章大数据业务流程3.3.3分布式系统3.3
大数据存储第三章大数据业务流程分布式系统中常见的数据分布方式有以下四种方式。0102030404一致性哈希通过哈希函数来计算数据或数据特征的哈希值,使它的输出值成为封闭的环。03按数据量分布根据按数据量分布数据。02按数据范围分布根据特征值的范围将数据划分为不同的区间,使集群中的每个服务器(组)可以在不同的区间处理数据。01哈希方式根据数据的某个特征计算出哈希值并与集群中的服务器建立映射关系,从而将数据分布到不同的机器中。3.3.3分布式系统3.3
大数据存储第三章大数据业务流程某个一致性哈希函数值域为[0,10),系统有3个节点A、B、C,这3个节点处于的一致性哈希的位置分别为1、4、9,则节点A负责的值域范围为[1,4),节点B负责的范围为[4,9),节点C负责的范围为[9,10)和[0,1)。若某数据的哈希值为3,则该数据应由节点A负责处理。假设需要在左图中增加一个新节点D,为D分配的哈希位置为3,则首先将节点A中[3,4)的数据从节点A复制到节点D,然后加入节点D即可。3.3.3分布式系统3.3
大数据存储第三章大数据业务流程3.3.3分布式系统3.3
大数据存储第三章大数据业务流程键值存储临时性永久性两者兼具01面向文档的数据库不定义表结构可以使用复杂的查询条件02面向列的数据库善于读取列中的数据高扩展性033.3.4NoSQL数据库3.3
大数据存储第三章大数据业务流程MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。MongoDB所谓的“面向集合”(Collection-Oriented)存储,意思是数据被分组存储在数据集中。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。集合中的文档被存储为键-值对的形式。键用于唯一标识,而值则可以是各种复杂的文件类型。我们称这种存储形式为BSON。3.3.4NoSQL数据库3.3
大数据存储第三章大数据业务流程事务支持高可用高性能灵活模型可扩展索引支持支持单文档事务JSON格式存储最接近真实对象模型高可用复制集满足数据高可靠、服务高可用的需求,运维简单,故障自动切换可扩展分片集群,海量数据存储,服务能力水平扩展mmapv1、wiredtiger、mongorocks(rocksdb)、in-memory等多引擎支持满足各种场景需求地理位置索引可用于构建各种O2O应用、文本索引解决搜索的需求、TTL索引解决历史数据自动过期的需求文件存储数据分析Gridfs解决文件存储的需求mapreduce解决数据分析场景需求,用户可以自己写查询语句或脚本,将请求都分发到MongoDB上完成3.3.4NoSQL数据库3.3
大数据存储第三章大数据业务流程HBase是HadoopDatabase的简称。HBase是分布式、面向列的开源数据库(其实准确的说是面向列族)。HDFS为HBase提供可靠的底层数据存储服务。MapReduce为HBase提供高性能的计算能力。Zookeeper为HBase提供稳定服务和Failover机制。因此HBase是一个通过大量廉价的机器解决海量数据的高速存储和读取的分布式数据库解决方案。3.3.4NoSQL数据库3.3
大数据存储第三章大数据业务流程命名空间是对表的逻辑分组,不同的命名空间类似于数据库中的不同的Database数据库。行由一个RowKey和多个列族组成,一个行有一个RowKey,用来唯一标示。每一行由若干列族组成,每个列族下可包含多个列。列族是列共性的一些体现。物理上,同一列族的数据存储在一起的。行由一个RowKey和多个列族组成,一个行有一个RowKey,用来唯一标示。列由列族和列限定符唯一指定,像如上的name、age即是ImployeeBasicInfoCLF列族的列限定符。单元格由RowKey、列族、列限定符唯一定位,单元格之中存放一个值(Value)和一个版本号。命名空间行列族表列限定符单元格3.3.4NoSQL数据库3.3
大数据存储第三章大数据业务流程01海量存储HBase适合存储PB级别的海量数据,在PB级别的数据场景下,能在几十到百毫秒内返回数据。正式因为HBase良好的扩展性,才为海量数据的存储提供了便利。02HBase是根据列族来存储数据的。列族下面可以有非常多的列,列族在创建表的时候就必须指定。03极易扩展HBase的扩展性主要体现在两个方面,一个是基于上层处理能力(RegionServer)的扩展,一个是基于存储的扩展(HDFS)。04高并发,在并发的情况下,HBase的单个IO延迟下降并不多。能获得高并发、低延迟的服务。05稀疏稀疏主要是针对HBase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占用存储空间的。列式存储高并发3.3.4NoSQL数据库3.3
大数据存储第三章大数据业务流程什么是云存储?云存储是指通过网络技术、分布式文件系统、服务器虚拟化、集群应用等技术将网络中海量的异构存储设备构成可弹性扩张、低成本、低能耗的共享存储资源池,并提供数据存储访问、处理功能的系统服务。3.3.5云存储3.3
大数据存储第三章大数据业务流程公共云供应商可以低成本地提供大量的文件存储,并可以保持每个客户的存储、应用都是独立私有的。国内比较突出的代表有百度云盘、华为网盘、腾讯微云等。内部云内部云存储跟私有云存储比较类似,唯一的不同点在于它在企业的防火墙内部。目前可提供私有云的平台主要有Eucalyptus、3ACloud、联想网盘等。混合云混合云存储把公共云、内部云或私有云结合在一起。主要用于按客户要求的访问,从公共云上划出一部分容量配置一种内部云或私有云。3.3.5云存储3.3
大数据存储第三章大数据业务流程安全性低成本大容量存储可伸缩性高可靠性高可用性服务模式对象存储文件存储块存储3.3.5云存储第三章大数据业务流程3.1数据采集3.2数据预处理ETL3.3大数据存储3.5大数据应用场景3.4大数据处理习题3.4
大数据处理第三章大数据业务流程根据对处理数据的形式和得到结果的时效性分类,数据处理框架可分为批处理系统和流处理系统以及混合处理系统三类。流处理系统会对随时进入系统的数据进行计算。流处理方式是对通过系统传输的每个数据项执行操作。批处理框架批处理是一种大规模数据集处理的方法。批处理的过程包括1.划分任务为较小的任务2.在集群中的每台设备上进行计算3.根据中间结果计算并组合出最终结果。流处理框架框架可以同时进行批处理和流处理。混合处理框架3.4.1大数据处理框架3.4
大数据处理第三章大数据业务流程MapReduce是一种分布式计算模型,主要用于搜索领域,可以用来解决海量数据的计算问题。MapReduce的核心,就是对一个需要计算的任务进行拆分,然后并行处理。MapReduce合并了两种经典函数:映射(Mapping)对集合里的每个目标应用同一个操作。化简归约(Reducing)遍历集合中的元素来返回一个综合的结果。3.4.1大数据处理框架3.4
大数据处理第三章大数据业务流程Client向JobTracker提交一个任务。JobTracker将任务分配到一个或者多个TaskTracker进行处理。不同的TaskTracker上,有的运行的是Map阶段的任务,有的运行是Reduce阶段的任务。对于map阶段,首先对输入的内容进行分割(InputSplit),不同Mapper任务负责各自的分割后的内容的映射。对于Reduce阶段,接受多个Mapper的输出,进行归一后,得到最终的输出。3.4.1大数据处理框架3.4
大数据处理第三章大数据业务流程MRAppMaster将M分成许多小份(数据切片,MapReduce中称为:FileSplit),然后每一个数据切片指派给一个MapTask来处理;MapReduce处理完后,将自己所负责的数据切片的处理结果传给ReduceTask;ReduceTask统计汇总各个MAPTASK传过来的结果,得到最后任务的结果。当然这是最简单的描述,实际上MRAppMaster的任务分配过程非常复杂,会考虑任务时间、任务是否出错、网络通讯负担等诸多问题,这里就不作详述。3.4.1大数据处理框架3.4
大数据处理第三章大数据业务流程举例来说,统计一个local.log日志的行数据词频。文档数量规模很大,有300万行数据,英文单词的总数可能只有2000(常用的)。于是:使用300台PC服务器运行MapTask,100台PC服务器运行ReduceTask。每个MapTask做100万行的词频统计,完成之后将中间结果分发给100个ReduceTask做汇总。3.4.1大数据处理框架3.4
大数据处理第三章大数据业务流程HDFS为分布式计算存储提供了底层支持。HDFS采用master/slave架构。一个HDFS集群包含一个单独的NameNode和多个DataNode。Namenode管理文件系统的元数据,而Datanode存储了实际的数据。NameNodeNameNode作为master服务,负责1.管理文件系统的命名空间和客户端对文件的访问。2.会保存文件系统的具体信息,包括文件信息、文件被分割成具体block块的信息等。DataNodeDataNode作为slave服务,在集群中可以存在多个。1.DataNode负责管理节点上它们拥有的存储。2.它将存储划分为多个block块,管理block块信息。3.周期性的将其所有的block块信息发送给NameNode。3.4.2批处理系统1.客户端带着读取路径向NameNode发送读取请求。2.NameNode会先判断是否有权限是否存在等。发送节点位置给部分或者全部DataNode。3.客户端得存储的位置,去读取数据。4.先去校验数据是否正确,不正确则去下一个存放该block块的DataNode节点上读取。5.读取完NameNode发送的所有的block块调用close方法,并将读取文件合并成一个大文件。3.4
大数据处理第三章大数据业务流程读流程写流程1.客户端会带着文件路径向NameNode发送写入请求。2.NameNode会去判断是否有权限是否存在等,发送写入的请求返回给客户端。3.客户端会将文件进行切分,然后上传block。4.NameNode根据DataNode的存储空间还有机架感知原理等返回block块存储的位置ABC。5.客户端会去ABC三个节点上建立pipeline,建立完成后将结果返回客户端。6.开始往A写入,写入完后依次写入其他block块,全部完成后将完成的信息返回给NameNode。7.NameNode存储该文件的各个block块的元数据信息。3.4.2批处理系统3.4
大数据处理第三章大数据业务流程3.4.2批处理系统3.4
大数据处理第三章大数据业务流程SparkStreaming是Spark核心API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。SparkStreaming支持从多种数据源获取数据,包括Kafka、Flume、Twitter、ZeroMQ、Kinesis以及TCPSockets。从数据源获取数据之后,可以使用诸如map、reduce、join和window等高级函数进行复杂算法的处理,最后还可以将处理结果存储到文件系统、数据库和现场仪表盘中。3.4.3流处理系统3.4
大数据处理第三章大数据业务流程RDD(ResilientDistributedDataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,Spark的所有的操作都是针对RDD。分区并行操作不可变RDD上三个特点3.4.3流处理系统3.4
大数据处理第三章大数据业务流程RDD上的Operation分为转换(transformantion)动作(action)。3.4.3流处理系统3.4
大数据处理第三章大数据业务流程SparkStreaming使用离散化流(discretizedstream)作为抽象表示,叫作DStream。DStream是随时间推移而收到的数据的序列。创建出来的DStream支持两种操作,一种是转化操作(transformation),会生成一个新的DStream,另一种是输出操作(outputoperation),可以把数据写入外部系统中。3.4.3流处理系统3.4
大数据处理第三章大数据业务流程01020304一个时间段。系统支持对一个窗口内的数据进行计算窗口一个时间片内所包含的流数据,表示成一个RDD。批数据拆分流数据的时间单元,一般为500毫秒或1秒。批处理时间间隔内部持续的实时数据流的抽象描述,即处理的一个实时数据流,在SparkStreaming中对应于一个DStream实例。离散流3.4.3流处理系统3.4
大数据处理第三章大数据业务流程ApacheFlink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方式执行任意流数据程序,Flink的流水线运行时系统可以执行批处理和流处理程序。Flink作为一款分布式的计算引擎,既可以用来做批处理,即处理静态的数据集、历史的数据集;也可以用来做流处理,即实时地处理一些实时数据流,实时地产生数据的结果。3.4.3流处理系统3.4
大数据处理第三章大数据业务流程任务管理器(TaskManager)执行数据流的task,task通过设置并行度,可能会有多个subtask。主要负责在独立的线程执行的operator。其中能执行多少个operator取决于每个taskManager指定的slots数量。作业管理器(JobManager)主要负责调度task,协调checkpoint已经错误恢复等。将打包好的任务提交到JobManager之后,JobManager根据注册的TaskManager资源信息分配并启动运行任务。TaskManger从JobManager获取task信息,然后使用slot资源运行task。3.4.3流处理系统3.4
大数据处理第三章大数据业务流程3.4.3流处理系统3.4
大数据处理第三章大数据业务流程无界流有定义流的开始,但没有定义流的结束。它们会无休止地产生数据。无界流的数据必须持续处理,即数据被摄取后需要立刻处理。有界流有定义流的开始,也有定义流的结束。有界流可以在摄取所有数据后再进行计算。有界流所有数据可以被排序,所以并不需要有序摄取。3.4.3流处理系统3.4
大数据处理第三章大数据业务流程有界流及无界流图解3.4.3流处理系统3.4
大数据处理第三章大数据业务流程快速、通用、可扩展的大数据分析引擎。基于内存的计算框架。多种计算模式、调度模式。包含多个子项目的集合。高级编程语言Scala编写。支持多语言开发。3.4.4混合理系统3.4
大数据处理第三章大数据业务流程3.4.4混合理系统3.4
大数据处理第三章大数据业务流程SparkCoreSparkStreamingSparkSQLSparkMLlib集群管理器SparkGraphXSparkCore:实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块。SparkSQL:是Spark用来操作结构化数据的程序包。SparkStreaming:是Spark提供的对实时数据进行流式计算的组件。SparkMLlib:提供常见的机器学习功能的程序库。包括分类、回归、聚类、协同过滤等。SparkGraphX:主要用于图形并行计算和图挖掘系统的组件。集群管理器:Spark支持在各种集群管理器(ClusterManager)上运行,包括HadoopYARN、ApacheMesos,以及Spark自带的独立调度器。3.4.4混合理系统3.4
大数据处理第三章大数据业务流程基本的原理是将Stream数据分成小的时间片段(几秒),以类似batch批量处理的方式来处理这小部分数据。小批量处理的方式使得它可以同时兼容批量和实时数据处理的逻辑和算法。方便了一些需要历史数据和实时数据联合分析的特定应用场合。3.4.4混合理系统3.4
大数据处理第三章大数据业务流程高效性:运行速度快,基于内存计算易用性:支持多种语言开发,提供多种操作API通用性:
提供了统一的解决方案兼容性:非常方便地与其他的开源产品进行融合3.4.4混合理系统3.4
大数据处理第三章大数据业务流程需要注意的是,在当前的企业应用中,ApacheSpark应该是当之无愧的王者。在批处理领域,虽然Spark与MapReduce的市场占有率不相上下,但Spark稳定上升,而MapReduce在稳定下降。在流处理领域,SparkStreaming和另一个大的流处理系统ApacheStorm一起占据了大部分市场,而Flink则潜力巨大,被称为“下一代数据处理框架”。3.4.4混合理系统第三章大数据业务流程3.1数据采集3.2数据预处理ETL3.3大数据存储3.5大数据应用场景3.4大数据处理习题3.5大数据应用场景第三章大数据业务流程电商行业大数据应用有两个层面,一个层面是零售行业可以了解客户的消费喜好和趋势,进行商品的精准营销,降低营销成本。另一个层面是依据客户购买的产品,为客户提供可能购买的其他产品,扩大销售额,也属于精准营销范畴。电商行业大数据应用3.5大数据应用场景第三章大数据业务流程医疗行业拥有大量的病例、病理报告、治愈方案、药物报告等,通过对这些数据进行整理和分析将会极大地辅助医生提出治疗方案,帮助病人早日康复。医疗行业大数据应用3.5大数据应用场景第三章大数据业务流程气象对社会的影响涉及方方面面,传统上依赖气象的主要是农业、林业和水运等行业部门,而如今借助于大数据技术,天气预报的准确性和实效性将会大大提高,预报的及时性将会大大提升,同时对于重大自然灾害如龙卷风,通过大数据计算平台,人们将会更加准确地预测自然灾害的趋势。环境大数据应用第三章大数据业务流程3.1数据采集3.2数据预处理ETL3.3大数据存储3.5大数据应用场景3.4大数据处理习题1.数据采集的准则包括哪两方面?2.大数据存储目前面临着哪些挑战?面对这些挑战有什么样的应对措施?3.大数据存储的方式有哪些?4.分布式系统是什么?在分布式系统中有哪些常见的数据分布方式?5.请简述NoSQL数据库的含义。常见的键值存储、面向文档的数据库、面向列的数据库的特点分别是什么?6.什么是云存储,云存储的分类、特点是什么?7.大数据处理框架有哪些,主要是按照什么进行分类的?习题:第四章系统安装部署4.1安装部署的概念4.2安装部署分布式系统4.3升级管理习题4.1安装部署的概念第四章系统安装部署4.1.1软件安装概述软件部署首先要基于一个操作系统。操作系统则又基于硬件环境。我们可以通过各种不同的方式获取这个操作系统,只要操作系统相同,那么最终我们进行安装时的操作也不会有什么不同。4.1安装部署的概念第四章系统安装部署4.1.1软件安装概述1.通过现有的物理机创建虚拟机以进行软件系统的部署在使用物理机创建虚拟机进行软件部署时,我们要通过虚拟软件对系统进行虚拟化。windows系统常用VMwareworkstation、Virtualbox等软件,macOS系统建议使用VMwarefusion软件。通过这种方式,我们可以简单快捷的获得一个或多个用于部署软件的操作系统,但是使用虚拟机的方法获取集群,实际上不能发挥出大数据组件的优势,通常在企业中也不这么使用,仅仅是在练习的时候这么使用。4.1安装部署的概念第四章系统安装部署4.1.1软件安装概述2.通过部署服务器的方式进行软件部署从物理服务器上组装系统,然后在系统上部署大数据软件,这是一般企业采用的方式。通过这种方式,我们可以获取自己需要数目的机器,机器性能也可以自己指定,而且能够保证企业的数据安全性,但是会有机器价格昂贵、灵活性差等等一系列问题。4.1安装部署的概念第四章系统安装部署4.1.1软件安装概述3.通过云服务的方式进行软件部署通过购买公有云(如阿里云)或私有云(如OpenStack),将大数据软件部署在云上,通过这种方式,我们可以实现在相对更低的预算下获取更多的收益,但考虑到在云上部署不可避免的要使数据进入云运营商的网络,因此安全性相比于部署物理服务器会差一些。4.1安装部署的概念第四章系统安装部署4.1.2大数据部署概述现阶段,Hadoop的HDFS与YARN是大数据组件的基础,在接下来的章节中详细讲解Hadoop的搭建。而在Hadoop外的大数据计算中,我们会经常使用到Spark作为分布式计算框架,因此Spark也是一个相对重要的部署重点。4.1安装部署的概念第四章系统安装部署4.1.2大数据部署概述大数据组件的基本内容第四章系统安装部署4.1安装部署的概念4.2安装部署分布式系统4.3升级管理习题4.2安装部署分布式系统第四章系统安装部署4.2.1Hadoop安装部署1.单节点部署(1)基础知识要学习和使用Hadoop,需要熟悉Linux基本命令,比如下载文件、使用vi/vim编辑文件、创建文件和创建目录等。并且要能够配置网络参数,比如修改主机名、配置静态IP地址、配置DNS和配置本地域名解析等。4.2安装部署分布式系统第四章系统安装部署4.2.1Hadoop安装部署1.单节点部署(2)软硬件环境Hadoop可以运行在Windows平台和Linux平台,推荐在64位Linux系统上运行。我们使用的Linux
是
CentOs7.0。一般学习和工作使用Windows系统,推荐在Windows中使用虚拟机来运行Linux。虚拟机可以选择VirutalBox或者VMwareWorkstation。我们使用
Hadoop
2.7.3版本,它是一个稳定的正式版本。Hadoop2.6以及以前的版本只支持JDK6,从Hadoop2.7开始需要JDK7以上版本。推荐使用OpenJDK7。4.2安装部署分布式系统第四章系统安装部署4.2.1Hadoop安装部署1.单节点部署(3)安装步骤主要包括以下几点:在虚拟机中安装CentOs7。安装ssh。安装rsync。安装openjdk。确认jdk版本。下载Hadoop的安装包。4.2安装部署分布式系统第四章系统安装部署4.2.1Hadoop安装部署1.单节点部署(3)安装步骤主要包括以下几点解压。在Hadoop的配置文件中增加环境变量JAVA_HOME。验证配置是否正确。运行MapReduce任务。4.2安装部署分布式系统第四章系统安装部署4.2.1Hadoop安装部署2.集群部署Hadoop
的集群有多种架构,常见的有:传统的NameNode加SecondaryNameNode方式、ActiveNamenode加StandbyNamenode方式即HighAvailability方式以及HighAvailability加Federation方式,如下图所示。4.2安装部署分布式系统第四章系统安装部署4.2.1Hadoop安装部署2.集群部署相比于Hadoop1.0,Hadoop2.0中的HDFS增加了两个重大特性:HA和Federaion。HA即为HighAvailability,用于解决NameNode单点故障问题,该特性通过热备的方式为主NameNode提供一个备用者,当主NameNode故障时,可以迅速切换至备用SecondaryNameNode,从而实现不间断对外提供服务。
Federation即为“联邦”,该特性允许一个HDFS集群中存在多个NameNode同时对外提供服务,这些NameNode分管一部分目录(水平切分),彼此之间相互隔离,但共享底层的DataNode存储资源,进一步提升集群的性能和可靠性。建议初学者先学习传统方式的配置。4.2安装部署分布式系统第四章系统安装部署4.2.1Hadoop安装部署2.集群部署集群部署主要包括以下几点:集群规划做好准备工作验证准备工作配置Hadoop参数启动集群4.2安装部署分布式系统第四章系统安装部署4.2.1Hadoop安装部署3.Hadoop其他组件部署在进行了Hadoop部署的同时,也有一些其他的软件值得我们了解它们的部署方式,这些软件和Hadoop有着一定的依赖关系。(1)ZookeeperZookeeper的安装,只需要修改一些配置,主要是规定Zookeeper的各个节点的端口号,以及在myid里规定每台机器的id号,然后一个个启动节点机器即可。4.2安装部署分布式系统第四章系统安装部署4.2.1Hadoop安装部署3.Hadoop其他组件部署(2)Hive进行Hive的安装相对比较简单,只需要在hive-env.sh中填写Hadoop_Home即可,然后打开在hive目录下的bin文件夹,在文件夹下有二进制文件hive,直接访问,就能进入hive命令行执行hive操作。(3)HBaseHBase的安装需要前置部署Zookeeper与Hadoop,之后只需要在HBase中配置Hadoop和Zookeeper位置,并在reginserver中规定HBase的从节点即可启动HBase。4.2安装部署分布式系统第四章系统安装部署4.2.2Spark部署
选择部署Spark到Linux系统上,可以使用物理机、虚拟机或者云服务来部署。Linux的版本可以选择CentOs、Ubuntu等稳定版本。初学者学习体验Spark可以先选择单节点部署,而要使用Spark进行大数据处理或者大规模计算则需要选择集群部署。单节点部署只需准备一台Linux机器,而集群部署须要准备多台Linux机器,并且各台机器能通过网络互连。4.2安装部署分布式系统第四章系统安装部署4.2.2Spark部署1.准备工作安装JDKSpark运行需要JAVA环境,并要求Java7及以上版本。在实际的部署中基本会和Hadoop一并部署,可以选择JDK1.7或JDK1.8安装。下载SparkSpark的官方下载地址为:/downloads.html。4.2安装部署分布式系统第四章系统安装部署4.2.2Spark部署2.Spark集群部署Spark集群部署是指把Spark部署到多台网络互通的机器上,构成分布式系统。集群部署的好处是可以利用多台机器的计算、内存、磁盘资源,有效地运行大数据处理程序,能够处理的数据量或计算量远远大于使用单台电脑部署的Spark。同时集群还提供了资源调度、高可用性、高可靠性等功能,可使Spark程序的运行稳定、可靠、高效。4.2安装部署分布式系统第四章系统安装部署4.2.2Spark部署2.
Spark集群部署Spark集群依照所使用的集群管理器被分为三种模式:StandaloneSparkonYarnSparkonMesos4.2安装部署分布式系统第四章系统安装部署4.2.2Spark部署3.搭建Standalone模式集群搭建集群之前首先要规划好集群的规模及角色分配。Spark集群中的机器角色可以人为地分为主节点和从节点。通常把部署了Master角色的机器称为主节点,部署了Slave角色的机器称为从节点。主节点担任调度管理的角色,而从节点则担任任务计算及数据处理的工作。4.2安装部署分布式系统第四章系统安装部署4.2.2Spark部署3.搭建Standalone模式集群我们将节点分成Master节点和Slave节点,具体规划如下图所示。4.2安装部署分布式系统第四章系统安装部署4.2.2Spark部署3.搭建Standalone模式集群集群搭建详细步骤如下:3台Linux机器,分别配置好机器名和IP地址,并确保每台机器间的网络能够相互连通。默认配置下spark会占用8080、8081、6066、7077等端口,若防火墙开启,这些端口可能无法连通,所以需要停掉每台机器的防火墙。为每台机器创建一个用户(如dtadmin),此用户具有管理员权限,后续登录每台机器均使用此用户。配
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 会计专业实习日记集合7篇
- 书本《背影》读后感
- DB12T 444.1-2011 公共场所集中空调通风系统清洗消毒操作规程 第1部分:清洗
- 人生大事观后感范文
- 个人打印收入证明(6篇)
- 高等数学教程 上册 第4版 测试题及答案 -测试一-答案
- 黔西南州高二下学期语文期末考试试卷
- 九年级上学期语文期中测试模拟试卷(三)(1-4单元)
- 二年级数学计算题专项练习集锦
- 继承工龄用工协议书(2篇)
- 《物业交房培训》
- 医院物业保洁服务方案
- 东方美人完整
- 《罗生门》读书分享交流
- 大连某项目钢结构深化设计与施工工程招标文件
- 生涯规划展示
- 机器学习复习题附有答案
- 风机行业报告
- 如何引领教师专业成长
- 《电力设备消防典型准则》(DL5027-2022)
- 小学生冬季安全教育知识讲座
评论
0/150
提交评论