大数据技术原理与应用-从入门到实战_第1页
大数据技术原理与应用-从入门到实战_第2页
大数据技术原理与应用-从入门到实战_第3页
大数据技术原理与应用-从入门到实战_第4页
大数据技术原理与应用-从入门到实战_第5页
已阅读5页,还剩620页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1第一篇

大数据基础第01章

概述

大数据的概念

大数据的特性大数据生态系统

大数据的应用21.1数据及其分类数据就是对客观事实的描述或是我们通过观察、实验或计算得出的结果。数据有很多种,最简单的就是数字,也可以是文字、图像、音视频、程序等。《大数据技术》31.大数据的概念《大数据技术》41.大数据的概念大数据包括结构化数据、非结构化数据和半结构化数据三个类型。结构化数据:结构化数据是可以以固定格式存储、访问和处理的数据。结构化数据是由二维逻辑表结构来表达的数据。《大数据技术》51.大数据的概念非结构化数据:非结构化数据,是数据结构不规则或不完整,没有预定义的数据模型,不方便用二维逻辑表来表达的数据。半结构化数据:半结构化数据中同时具有结构化和非结构化数据。常见的半结构化数据包括XML、JSON等。

1.2大数据的基本定义舍恩伯格及库克耶的《大数据时代》:大数据(bigdata)被定义为不用随机分析法(抽样调查)这样的捷径,而采用全量模式进行分析处理的数据

维基百科:大数据是指无法在一定时间内用常规软件工具对其内容进行采集、存储、处理和应用的数据集合百度:大数据,或称巨量资料,指的是需要新处理模式才能产生更强大决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产《大数据技术》61.大数据的概念本课程定义:大数据是指在互联网和大规模分布式并行计算平台支持下被采集、存储、分析和应用的具有产生更高决策价值的海量、高增长率和多样化的信息资产《大数据技术》71.大数据的概念2.1大数据时代一组名为“互联网上一天”的数据告诉我们,一天之中,互联网产生的全部内容可以刻满1.68亿张DVD;发出的邮件有2940亿封之多;发出的社区帖子达200万个(相当于《时代》杂志770年的文字量);卖出的手机为37.8万台,高于全球每天出生的婴儿数量37.1万。《大数据技术》82.大数据的特性2.2大数据的4V特性业界普遍采用4V表示大数据的特征:Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)。大量:大数据的首要特性,就数量巨大。高速:大数据的关键特性;绝对速度不一定高,但是数据必须在线,这正是互联网的特点。《大数据技术》92.大数据的特性多样:来源与形态包罗万象,大数据的自然属性。目前大数据的来源主要有:系统日志、条码与射频识别、传感器网络、工业生产过程、社会管理、社交网络、互联网文本和文件、互联网搜索引擎、呼叫记录、视频监控、天气预报、基因测序、军事侦察、医疗记录、音影文档、银行交易记录、电子商务平台等。《大数据技术》102.大数据的特性大数据分类:结构化数据(如数据库记录)、半结构化数据(文本、网页)、非结构化数据(如图像、音频、视频)《大数据技术》112.大数据的特性价值:指数据即生产力,具有决策价值,被喻为新时代的石油和黄金;另一方面,也表示大数据的价值密度很低,例如,几小时的监控视频中可能有价值的就两三秒钟。各种数据需要通过清洗、过滤、转换、脱敏等多个处理步骤才能用来计算。《大数据技术》122.大数据的特性3.1主要平台分布式计算平台:分布式计算平台提供分布式存储和计算能力,支持海量数据处理和分析,例如ApacheHadoop、ApacheSpark等。《大数据技术》133.大数据生态系统《大数据技术》143.大数据生态系统实时数据处理平台:实时数据处理平台专注于实时数据处理和流计算。数据仓库平台:数据仓库平台提供基于云的数据仓库解决方案,支持大规模、高速的数据查询和分析。海量数据存储平台:海量数据存储平台提供海量数据的分布式存储能力,支持多种数据格式和存储方案。例如,HDFS。《大数据技术》153.大数据生态系统数据可视化平台:数据可视化平台提供数据可视化和报表工具。例如,QuickBI等。移动端分析平台:移动端分析平台提供数据可视化和报表工具。例如,GoogleFirebase等。3.2大数据生态架构

基本结构(顶层概念视图)《大数据技术》163.大数据生态系统数据采集:日志收集、ETL、爬虫、消息分发数据存储:分布式文件系统、结构化数据库系统数据计算:分布式并行计算引擎数据应用:可视化、决策、推荐、监控、AI...系统管理服务质量数据集成数据治理《大数据技术》173.大数据生态系统垂直视图系统管理:管理系统日志、虚拟机、应用程序和其他设备;监视实时警告和通知;引用有关系统的报告和详细分析;管理存储和容量;归档和检索管理;执行系统恢复、集群管理、网络管理和策略管理。《大数据技术》183.大数据生态系统服务质量:QoS;数据完整性、准确性、一致性等规范;隐私和安全策略;数据访问策略;可用性、数据真实性、共享和发布、存储和保留(包括能否存储外部数据等问题);社交媒体使用条款等。数据频率,是按需、连续还是离线使用;抓取的数据大小;过滤,标准过滤器会删除不想要的数据和数据中的干扰项。《大数据技术》193.大数据生态系统数据集成:指供各层组件(例如数据获取、数据整理、模型管理和交易拦截器)使用的数据源选择、连接、加速和适配的各种技术与方法。例如,根据不同协议和连接性,确定数据源信息,设计高质量的连接器和适配器。例如社交媒体适配器和天气数据适配器。《大数据技术》203.大数据生态系统数据治理:指定义指南以帮助企业制定有关数据的正确决策。处理企业内或从外部来源传入数据的复杂性、量和种类。在将数据传入企业进行处理、存储、分析和清除或归档时,需要强有力的指南和流程来监视、构建、存储和保护数据。数据治理还包括创建如何跨系统复制数据的策略和安全策略。《大数据技术》213.大数据生态系统《大数据技术》223.大数据生态系统大数据的主要技术组件《大数据技术》231数据存储组件

分布式文件系统:HDFS、AFS、NFS、KFS等

分布式数据库系统:主要是非关系型数据库(列存储数据库:Bigtable、HBase、Cassandra;键值数据库:Redis、Riak;图数据库:Neo4j、InfoGrid;文档数据库:MongoDB、CouchDB)3.大数据生态系统《大数据技术》242数据处理组件

分布式计算框架(主要支持离线计算):MapReduce等

基于内存的计算框架:Spark流计算框架:Flink、Storm等

图计算框架:Pregel、SparkGraphX等3.大数据生态系统《大数据技术》253应用组件或系统

数据仓库:Hive、Impala等

数据可视化工具:ECharts等

机器学习框架:SparkMLlib、TensorFlowOnSpark

面向应用的各类业务/功能系统3.大数据生态系统4.1应用举例大数据在互联网领域的应用大数据在生物医学领域的应用大数据在物流领域的应用《大数据技术》264.大数据应用《大数据技术》27“啤酒+尿布”的故事:全球零售业巨头沃尔玛在对消费者购物行为分析时发现,男性顾客在购买婴儿尿片时,常会顺便搭配几瓶啤酒犒劳自己,于是尝试将啤酒和尿布摆在一起的促销手段。这个举措居然使尿布和啤酒的销量都大幅增加了。如今,啤酒+尿布的数据分析成已成为大数据技术应用的经典案例。4.大数据的应用《大数据技术》28Netflix用大数据捧红美剧《纸牌屋》:影视投资有风险,票房与投资回报率、收视率都很难预测。HouseofCards基于大数据分析进行创作、拍摄,从剧本主题的选择,到导演演员的选择,拍摄和后期制作,都经过大数据分析得出结论。Netflix公司提前一年时间运用大数据对用户的观看习惯进行分析,指导影视节目制作。4.大数据的应用《大数据技术》29智慧社区:对建筑、道路、水系、山体等建模;雪天雨天等天气的切换,呈现出真实的社区环境;结合人员数据、物业数据等实现社区的数字孪生解决方案。4.大数据的应用《大数据技术》30数字工厂:对设备、流体、能耗、产值、人员等所有对象进行建模;动态呈现生产真实场景;实现工厂数字孪生解决方案;提升劳动生产效率、安全性等。4.大数据的应用《大数据技术》31智慧交通:通过对站点、轨道传感器进行数据传输;结合三维建模和轨道交通地理信息可视化,实现轨道交通数字化管理全流程覆盖。4.大数据的应用《大数据技术》32百度,互联网公司

,具有采集大数据的优势(数据密集型企业)。因此,百度、腾讯、阿里、京东等互联网公司,充分挖掘大数据价值,提供各类应用和服务,实现大数据的经济与社会价值。4.大数据的应用《大数据技术》33百度智慧交通致力于用科技助力交通数字化转型及升级。在人工智能、交通大数据、云计算和GIS方面的行业优势,为全国交管、交通规划、高速公路运营商、应急管理提供有力支持。4.大数据的应用《大数据技术》34百度地图整合大数据技术,在不同领域得到应用。高德、腾讯、奥维互动、图吧、悠悠导航等均有类似产品。4.大数据的应用《大数据技术》35用户上传自己的各类数据,在搜索引擎中被搜索4.大数据的应用《大数据技术》36挖掘大数据中的知识,用大数据训练机器学习模型(如深度神经网络DNN、卷积神经网络CNN、循环神经网络RNN、Transformer等模型)是大数据的重要应用。AlphaGo2015年击败李世石、2017年击败柯洁4.大数据的应用《大数据技术》37不胜枚举......请参阅百度:《大数据应用的50个典型案例》独立思考(多问为什么、怎么办)......4.大数据的应用4.4大数据应用的趋势《大数据技术》384.大数据的应用开源大数据商业化进一步加深。随着闭源软件在数据分析领域的地盘不断缩小,老牌IT厂商(典型的如IOE)正在改变商业模式,向开源靠拢,并加大专业服务和系统集成方面的力度,帮助客户向开源的、面向云的分析产品迁移,主要是Hadoop、Spark等技术将加速发展。《大数据技术》394.大数据的应用打包的大数据行业分析应用开拓新的市场。随着大数据逐渐走向各个行业,基于行业的大数据分析应用需求也日益增长。未来几年针对特定行业和业务流程的分析应用将会以预打包的形式出现,这将为大数据技术应用商打开新的市场。大数据细分市场规模进一步扩大。例如,以数据分析和处理为主的高级数据服务、基于社交网络的社会大数据分析等。《大数据技术》404.大数据的应用大数据推动公司并购的规模和数量进一步提升。未来几年,大型IT厂商将为了完善自己的大数据产品进行并购,首先涉及的将是信息管理软件厂商、预测分析和数据展现厂商等。大数据分析的革命性方法出现。传统算法和基础理论可能会出现突破。机器学习成为大数据智能分析的核心技术;人工智能和脑科学相结合,成为大数据分析领域的热点。金融、电子商务、健康医疗、智慧城市领域的应用引人注目。《大数据技术》414.大数据的应用大数据与云计算深入融合。云计算为大数据提供了弹性可扩展的基础设施支撑环境,以及数据服务的高效模式,大数据则为云计算提供了新的商业价值。大数据技术与云计算技术必将更加完美结合。目前,各国的基础设施越来越紧密地和云计算结合起来。大数据与物联网、数字孪生、先进制造、虚拟现实、移动计算等密切结合。例如,物联网为大数据提供重要实时数据,大数据为物联网应用提供分析动能。4.2大数据应用的特点广泛渗透:应用于各行各业、各个领域深度融合:与云计算、人工智能、先进制造、电子商务、数字孪生、虚拟现实、数字媒体、信息安全、物联网等技术紧密结合技术复杂:需求繁杂、架构繁复、组件繁多《大数据技术》424.大数据的应用数据的广泛异构性问题数据类型:从以结构化数据为主转向结构化、半结构化、非结构化三者的融合数据产生方式:多样性带来的数据源变化,例如移动设备产生的数据具有动态时空特性数据存储方式:多模式存储数据质量:数据量大不一定就代表信息量或者数据价值的增大,相反很多时候意味着信息垃圾的泛滥;噪声数据清洗、过滤面临困难《大数据技术》43挑战与研究方向(补充)2.大数据处理的时效性问题

离线(Offline)

近线(Nearline)

在线(Online)-内存计算、存算一体

动态变化环境中的检索机制设计备份、覆盖、恢复《大数据技术》44挑战与研究方向《大数据技术》452.大数据处理的时效性问题挑战与研究方向《大数据技术》46挑战与研究方向大数据平台的协同性问题硬件的快速升级换代有力的促进了大数据的发展,但是这也在一定程度上造成了大量不同硬件架构共存的局面硬件异构性带来的大数据处理难题:资源调度木桶效应。例如,MapReduce处理时间取决于处理时间最长的节点《大数据技术》47挑战与研究方向大数据应用系统的易用性问题数据量大,分析更复杂,得到的结果形式更加多样化。其复杂程度已经远远超出传统的关系数据库不同的行业有不同的大数据分析的需求要想达到易用性,需要关注以下三个基本原则:可视化原则;匹配原则;反馈原则《大数据技术》48挑战与研究方向大数据测试基准设计问题系统复杂度高用户案例的多样性数据规模庞大系统的快速演变重新构建还是复用现有的测试基准《大数据技术》49挑战与研究方向

大数据的能耗问题《大数据技术》50挑战与研究方向

在能源价格不断上涨、数据中心存储规模不断扩大的今天,高能耗已逐渐成为制约大数据快速发展的一个瓶颈。可以考虑以下两个方面来改善大数据能耗问题:采用新型低功耗硬件;引入可再生的新能源。《大数据技术》51

资料开始准备必要条件(计算机、数据、软件)课程资源按计划上传百度云盘,从如下地址下载:/s/1lhMA0cDCWS5bKZh8TU3c9w

提取码:swxy内容包括:讲课PPT实验指导视频实验数据相关免费软件其他文档(补充说明等)手机扫码获取资源《大数据技术》52谢谢大家恳请批评指正联系邮箱:jypccsu@126.com第02章Linux集群搭建计算机集群

Linux操作系统Linux集群搭建Linux命令5354《大数据技术》1.1集群的概念计算机集群(简称集群,cluster):是指通过硬件(如高速通信网络)和软件连接一组相互独立的计算机而形成的协作完成计算任务的系统。节点(node):集群的每台计算机称为集群的节点,是运行操作系统和服务进程的独立服务器。1.计算机集群55《大数据技术》为什么需要集群针对大数据的特性思考!可扩展性:通过技术,可以使集群的结点数目易于扩展,如增长到几百、几千、甚至上万台计算机,技术上让规模增长容易实现。1.计算机集群《大数据技术》56为什么需要集群高可用性:即使基于廉价商用计算机,通过软硬件冗余、备份、检测、恢复等容错技术,实现高可用性。透明性:客户端应用程序与集群系统交互时,就像与一台高性能、高可用的服务器打交道,系统扩展、部分节点切入切出时,不会中断服务,客户端无需做任何修改,即对用户是透明的。1.计算机集群57《大数据技术》1.计算机集群1.2集群的种类与特点按功能和结构,计算机集群分为以下4大类:高可用性集群(High-availability,HA

cluster)负载均衡集群(Loadbalancingcluster)高性能计算集群(High-performance,HPC

cluster)前两种是互联网行业最常用的集群模式58《大数据技术》1.计算机集群计算机集群的特点:高性能可扩展性负载均衡透明性可编程性高性价比高可用性错误恢复可管理性59《大数据技术》2.1特点与主要组成Linux简介Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括文本编辑器、高级语言编译器等应用软件。2.Linux操作系统60《大数据技术》Linux的特点

开放性:符合开放系统互连(OSI)国际标准。

多用户:资源可以被不同用户各自拥有使用。

多任务:指计算机同时执行多个独立的程序。

易用性好:良好的用户界面。

设备独立性:所有外部设备统一被当作文件。

网络功能强大:丰富的网络功能。

安全性高:可靠的系统安全。

可移植性好:支持多种硬件平台2.Linux操作系统61《大数据技术》主要组成部分内核:存储管理、CPU和进程管理、设备管理和驱动、网络通信,系统初始化(引导)、系统调用等Shell:系统用户界面文件系统:内核的一部分,负责管理磁盘文件的输入输出。文件通过目录方式进行组织一组应用程序2.Linux操作系统62《大数据技术》2.2目录结构分析2.Linux操作系统63《大数据技术》3.1安装VMware虚拟机3.Linux集群搭建VMare是一套PC虚拟化软件的总称。VMwareWorkstation是VMware系列软件产品之一,用于在英特尔x86兼容计算机上创建虚拟机工作站,它允许用户同时创建和运行多个x86虚拟机。每个虚拟机实例可以运行自己的客户机操作系统,如Windows、Linux、BSD变生版本等。VMwareWorkstation允许一台真实的计算机在一个操作系统中同时安装并运行多个操作系统,并帮助用户在多个宿主计算机之间管理或移植VMware虚拟机。为方便学习,我们拟安装虚拟集群,采用VMware作虚拟平台。64《大数据技术》3.Linux集群安装点击WMware安装文件(VMware.exe)开始安装如果系统盘(C:)空间不够,可以安装到其他驱动器安装完成后启动VMwareWorkstation,根据需要使用:创建新的虚拟机打开虚拟机连接远程服务器65《大数据技术》3.2VMware上安装Linux(CentOS7)

二种安装方式:

从下载的系统文件安装CentOS√

从本机克隆安装√方便操作需要安装Xftp和Xshell3.Linux集群安装66

3.Linux集群安装1从下载的系统文件安装CentOS从/download/,可以下载最新版本的CentOS。DownloadCentOS主页中,有三个选项:

DVDISO:标准版的DVD系统文件EverythingISO:完整版的DVD系统文件MinimalISO:精简版系统文件。我们选择DVDISO:CentOS-7-x86_64-Minimal-1810.iso673.Linux集群安装68

3.Linux集群安装693.Linux集群安装70

单击“开启此虚拟机”,开始安装:3.Linux集群安装71《大数据技术》安装过程中可能出现的交互:3.Linux集群安装72

3.Linux集群安装73

3.Linux集群安装《大数据技术》74《大数据技术》3.Linux集群安装

75

安装完成:登录进入主界面3.Linux集群安装《大数据技术》76

克隆安装(复制本机上已安装的Linux机器)3.Linux集群安装《大数据技术》77

注意:克隆前要关闭被克隆的Linux虚拟机选中克隆系统,单击鼠标右键,选择

管理->克隆

即开始执行克隆操作3.Linux集群安装《大数据技术》78

3.Linux集群安装《大数据技术》79《大数据技术》3.3集群的配置

设置主机名

网络设置

编辑hosts文件

关闭防火墙

安装JDK

配置环境变量

免密钥登录配置3.Linux集群安装80NETWORKING=yesHOSTNAME=master1修改主机名Why?用个性化名称访问系统,代替IP地址或localhost操作流程:修改主机名要切换到根用户:suroot编辑/etc/sysconfig/network文件:vi/etc/sysconfig/network点击save保存修改3.Linux集群安装《大数据技术》81localhost.localdomainmaster

编辑/etc/hostname文件vi/etc/hostname点击save保存修改

退出编辑后,在终端执行hostnamemaster

即完成主机名修改注意:slave0、slave1也要同样修改3.Linux集群安装《大数据技术》82《大数据技术》2网络设置Why?系统安装时配置的网络IP地址实际上一般都是DHCP类型的。但是,大数据计算平台通常是一个稳定的系统,节点IP不需要变化,因此,我们要将动态主机IP地址修改为静态类型的。3.Linux集群安装83《大数据技术》

3.Linux集群安装84《大数据技术》

选中“NAT模式”,设置子网IP为“”85《大数据技术》

以“root”身份登录到master,执行命令“vi/etc/sysconfig/network-scripts/ifcfg-ens33”修改网络信息,如图2-21所示。修改内容如下,BOOTPROTO设置为dhcp表示动态获取网络IP,设置为static表示静态网络IP。UUID--删除ONBOOT=yes--修改BOOTPROTO=staticIPADDR=01--添加NETMASK=GATEWAY=DNS1=14注意:slave0、slave1都要进行修改86《大数据技术》

为了用计算机名进行网络访问,我们还需要修改hosts文件中的主机名与IP地址对照列表。输入“vi/etc/hosts”。01master02slave003slave13编辑hosts文件3.Linux集群安装87《大数据技术》4关闭防火墙Why?Linux防火墙主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙。大数据应用系统通常部署在Linux集群上,一般属于内部网络平台,且计算机之间关系十分密切,通信频繁,因此不需要启用防火墙。

防火墙没有关闭往往是大数据软件系统不能正常工作的原因。3.Linux集群安装88《大数据技术》关闭防火墙systemctlstopfirewalld禁用防火墙systemctldisablefirewalld查看防火墙systemctlstatusfirewalld注意:关闭防火墙需要在集群所有节点进行,即关闭所有节点的防火墙3.Linux集群安装《大数据技术》895安装JDKWhy?许多重要大数据平台(如Hadoop)都是基于Java环境开发的,因此,我们必须在Linux主机上安装JDK。应用中需要考虑大数据软件平台与JDK的适配关系这里选用的版本是JDK8(jdk-8u231-linux-x64.rpm)。注意:编写脚本关闭防火墙、安装MySQL3.Linux集群安装90注意:上述安装和配置还需要在集群的其他计算机上进行问题:如果集群有成百上千台计算机,难道也要这样一台一台地去安装和配置吗?不需要。实际工作中,可以先安装好一台计算机(完成上述配置),其他的计算机可以克隆,但要修改主机名和IP地址,配置工作大大减少。3.Linux集群安装91Why?

SSH(SecureShellProtocol,安全外壳协议)是一种在不安全网络上提供安全远程登录及其他安全网络服务的协议。默认状态下,SSH连接是需要密码认证的,但是可以通过修改系统配置,使系统通信免除用户名和密码输入操作。通过终端远程操作服务器时,免密钥登录可以简化操作,提高效率。6免密钥登录配置3.Linux集群安装92【123】ssh-keygen-trsa-P''-f~/.ssh/id_rsa【123】vi/etc/ssh/ssh_config在最后添加

StrictHostKeyCheckingno

UserKnownHostsFile/dev/null

将秘钥分别拷贝给自己和别人【123】ssh-copy-id-i~/.ssh/id_rsa.pubroot@master【123】ssh-copy-id-i~/.ssh/id_rsa.pubroot@slave0【123】ssh-copy-id-i~/.ssh/id_rsa.pubroot@slave1上面三条命令都需要输入密码:1234563.Linux集群安装93《大数据技术》课程实验涉及较多的系统知识和软件

计算机配置差异大

操作的关联性高,容易出错

集中精力

前阶段(Linux+Hadoop)可以反复安装3.Linux集群安装94《大数据技术》cd命令

ls命令

grep命令find命令

cp命令mv命令rm命令4.Linux命令ps命令kill命令file命令tar命令cat命令chgrp命令chmod命令vim命令gcc命令time命令cal命令shutdown命令《大数据技术》95

资料开始准备必要条件(计算机、数据、软件)课程资源按计划上传百度云盘,从如下地址下载:/s/1lhMA0cDCWS5bKZh8TU3c9w

提取码:swxy内容包括:讲课PPT实验指导视频实验数据相关免费软件其他文档(补充说明等)手机扫码获取资源96谢谢大家恳请批评指正联系邮箱:jypccsu@126.com97第二篇大数据存储第03章

分布式文件系统HDFS

HDFS概述

HDFS系统架构分析数据存储

文件操作过程

理解Yarn9899《大数据技术》1.1HadoopHadoop是一个由Apache基金会所开发的分布式系统基础架构。Hadoop架构的核心组成有两个部分:一是分布式文件系统HDFS,二是并行计算框架MapReduce。HDFS为海量数据提供存储服务,而MapReduce则为海量数据提供计算引擎。1.HDFS概述100Hadoop大数据生态系统《大数据技术》101Hadoop是一个虚构的名字。该项目的创建者,DougCutting解释了Hadoop的得名。他的孩子有一个黄色大象玩具,称为Hadoop。DougCutting觉得这个名称简短、容易发音和拼写,所以就采用了这个名字,没有更多意义,不会被用于别处。他说小孩子往往是取名的高手。1.HDFS概述《大数据技术》102DougCutting,Hadoop创建人,毕业于美国斯坦福大学,最初学习物理、地理学,后对IT感兴趣。先后在Xerox、Architext、Cloudera、雅虎工作。2004年受谷歌GFS启发,开始研究Hadoop,2008年Hadoop成为Apache顶级项目。1.HDFS概述103《大数据技术》1.HDFS概述Hadoop生态圈各组件的描述组件描述HDFS分布式文件系统MapReduce分布式并行计算框架YARN分布式资源管理框架Zookeeper分布式协调服务Flume数据采集工具Sqoop数据传输工具HBase分布式数据库Hive数据仓库工具Spark基于内存的分布式并行计算框架104《大数据技术》1.2HDFS的设计目标存储超大文件:集群可扩展性高流式数据访问:满足批处理而非交互式处理需求容错性高:完善的冗余备份机制采用简单一致性模型:一次写入多次读取移动计算优于移动数据:读取和计算采取就近原则兼容各种硬件和软件平台1.HDFS概述105《大数据技术》文件系统经历了传统阶段、雏形阶段和成熟阶段1.HDFS概述106《大数据技术》HDFS不适合的场景:大量小文件:文件的元数据都存储在NameNode内存中,大量小文件意味着元数据的增加,占用大量内存低延迟数据访问:专门针对高数据吞吐量而设计多用户写入:会导致一致性维护的困难1.HDFS概述107《大数据技术》2.1系统架构概览

2.HDFS系统架构分析

《大数据技术》108《大数据技术》109110《大数据技术》2.2组件功能分析

2.HDFS系统架构分析

《大数据技术》111《大数据技术》112113《大数据技术》3.1数据分块数据块的大小磁盘数据块是磁盘读写的基本单位,与普通文件系统类似,HDFS也把文件分块来存储。HDFS默认数据块大小为128MB。块增大可以减少寻址时间与文件传输时间的比例,若寻址时间为10ms,磁盘传输速率为100MB/s,那么寻址与传输比仅为1%。磁盘块太大也不好,因为一个MapReduce通常以一个块作为输入,块过大会导致整体任务数量过小,降低作业处理速度。3.数据存储114《大数据技术》按块存储的好处文件可以任意大,也不用担心单个节点磁盘容量小于文件的情况简化了文件子系统的设计,子系统只存储文件块数据,而文件元数据则交由其他系统(NameNode)管理有利于备份和提高系统可用性,这得益于以块为单位进行备份的设计,HDFS默认备份数量为3有利于负载均衡3.数据存储115《大数据技术》3.2机架感知Hadoop组件具有机架感知功能。Hadoop主守护进程通过调用配置文件指定的外部脚本或java类来获取集群工作者(worker)的机架ID。3.数据存储116《大数据技术》为什么需要机架感知?负载均衡:机架上的服务器磁盘配置不同,通过感知机架,方便系统管理员手动操作,从而实现负载均衡副本策略:通过机架感知,实现副本策略,可以保证有效存储的同时最大化安全需要3.数据存储《大数据技术》117118《大数据技术》3.3存储策略HDFS的放置策略是:如果写入程序位于数据节点上,则将一个副本放置在本地计算机上,否则放置在与写入程序相同的机架中的随机数据节点上;另一个副本放在不同(远程)机架中的节点上,最后一个副本则放置在相同远程机架中的不同节点上。3.数据存储119《大数据技术》NameNode的作用

NameNode负责管理文件系统的命名空间,维护文件目录和文件名。NameNode也负责所有这些文件或目录的打开、关闭、移动、重命名等操作。实际文件数据的存储与读写操作,则由DataNode负责。客户端请求数据时,它仅从NameNode获取文件的元数据,而具体的数据传输不需要经过NameNode,由客户端直接与相应的DataNode进行交互。3.数据存储《大数据技术》120121《大数据技术》SecondaryNameNode的作用NameNode启动时,它首先会加载fsimage到内存中;HDFS运行期间,所有操作的元数据也都保存在内存中。为了防止数据丢失,这些操作数据又会不断被持久化到本地edits文件中。NameNode在更新内存中的元信息之前,将操作数据写入edits文件,然后更新内存并应答Client。系统运行中,edits文件和fsimage文件要周期性合并;NameNode重启时,系统也需要将edits与fsimage合并到一起。合并操作代价大,影响NameNode的运行,包括影响Hadoop重启的速度,SecondaryNameNode为了解决这个问题而诞生了。3.数据存储《大数据技术》122123《大数据技术》3.数据存储124《大数据技术》4.1读文件4.文件操作过程HDFS读文件过程《大数据技术》1251.初始化FileSystem(由分布式系统实现),然后client用FileSystem的open()函数打开文件。2.DFSInputStream远程调用名称节点,得到文件开始部分的数据块信息,对于每一个数据块,元数据节点返回保存数据块的数据节点的地址。3.系统利用DFSInputStream实例化FSDataInputStream,返还给客户端用来读取数据。客户端调用read()函数开始读取数据。4.FSDataInputStream连接保存距离此文件第一个数据块的最近的数据节点,数据从数据节点读到客户端(client)。5.当此数据块读取完毕时,FSDataInputStream关闭和此数据节点的连接,然后连接此文件下一个数据块的最近的数据节点。6.当客户端读取完毕数据的时候,调用FSDataInputStream的close函数关闭输入流。7.在读取数据的过程中,如果客户端在与数据节点通信出现错误,则尝试连接包含此数据块的下一个数据节点。126《大数据技术》4.2写文件4.文件操作过程HDFS写文件过程《大数据技术》1271.初始化FileSystem,客户端调用create()来创建文件。2.DistributedFileSystem用RPC调用名称节点,在文件系统的命名空间中创建一个新的文件,名称节点首先确定文件原来不存在,并且客户端有创建文件的权限,然后创建新文件。3.DistribuitedFileSystem利用DFSOutputStream实例化FSDataOutputSystem,返还给客户端,客户端开始调用write()函数写入数据。4.FSDataOutputSystem将数据分成块,被放入DFSOutputStream对象的内部队列。FSDataOutputSystem通知名称节点分配数据节点,用来存储数据块(每块默认复制3块)。分配的数据节点形成一个数据流管道。队列中的分包被打成数据包发送至数据流管道中的第一个数据节点。第一个数据节点将数据包发送给第二个数据节点。第二个数据节点将数据包发送给第三个数据节点。5.DFSOutputStream为保证发出的数据包都是准确的而设置了确认包,等待数据流管道中的数据节点告知数据已经写入成功。6.当客户端结束写入数据,则调用close()函数关闭输入流。此操作将所有的数据块写入数据流管道中的数据节点,并等待确认包返回成功。最后通知名称节点写入完毕。《大数据技术》5.1Yarn基本架构5.理解YarnResourceManagerSchedulerApplicationsManager调度器仅根据各应用程序的资源需求进行资源分配(分配单位用一个抽象概念Container表示,是内存、CPU、磁盘、网络等资源的封装)128《大数据技术》5.理解YarnYarn的另一个重要概念就是ApplicationMaster(Appmaster)。每一个应用都有自己的AppMaster实例。

AppMaster负责与ResourceManager协商资源,并与之协同工作来监控Container。《大数据技术》5.理解YarnNodeManager是每个节点的Yarn框架代理。它负责启动应用的Container,监控Container的资源使用(包括CPU、内存、硬盘和网络带宽等),并把这些信息汇报给调度器。ResourceManager得到轻量化,调度器仅根据各应用程序的资源需求进行资源分配,而监测Job的任务(tasks)状态的程序分布式化了,所以整体上系统更有效。

在Yarn中,ApplicationsMaster是一个可变更的部分,用户可以对不同的编程模型写自己的ApplicationsMaster,让更多类型的编程模型在Hadoop集群中运行。旧框架中,JobTracker很大的负担是监控job的tasks的运行状况,现在,这个部分由ApplicationsMaster负责,而ResourceManager中有一个模块叫做ApplicationsManager,它监测ApplicationsMaster的运行状况。Container是Yarn为了将来作资源隔离提出的一个框架。之前的mapslot/reduceslot分开,容易造成集群资源闲置。131《大数据技术》5.2工作流程5.理解Yarn《大数据技术》YARN有四大核心交互流程。客户端向ResourceManager提交MapReduce作业。MRApplicationMaster向ResourceManager申请资源。Map任务或Reduce任务向MRApplicationMaster汇报MapReduce作业状态。NodeManager向ResourceManager汇报节点的状态。5.理解Yarn《大数据技术》采用web方式查看yarn状态1345.理解Yarn《大数据技术》135

资料开始准备必要条件(计算机、数据、软件)课程资源按计划上传百度云盘,从如下地址下载:/s/1lhMA0cDCWS5bKZh8TU3c9w

提取码:swxy内容包括:讲课PPT实验指导视频实验数据相关免费软件其他文档(补充说明等)手机扫码获取资源136谢谢大家恳请批评指正联系邮箱:jypccsu@126.com《大数据技术》第04章HDFS的安装与基本应用

HDFS安装与配置用户配置

基本应用Linux命令《大数据技术》Hadoop集群主机名masterslave0slave1IP010203用户名rootrootroot密码123456123456123456HDFSNameNodeSecondaryNameNode

DataNodeDataNodeDataNodeYARNResourceManagerNodeManagerNodeManagerNodeManager

1.HDFS安装与配置138

在本书第4章软件资源中找到hadoop-3.3.4.tar.gz文件,执行解压缩命令。执行命令“chmod777-R/home/swxy/hadoop-3.3.4”赋予目录全执行权限。《大数据技术》1.1安装1.HDFS安装与配置139

Hadoop环境变量文件是hadoop-env.sh,它位于“/home/swxy/hadoop-3.3.4/etc/hadoop”子目录下《大数据技术》1.2配置1.HDFS安装与配置140

Hadoop的核心组件文件是core-site.xml,也位于“/home/swxy/hadoop-3.3.4/etc/hadoop”子目录下。用vi编辑core-site.xml文件。《大数据技术》配置核心组件文件1.HDFS安装与配置141<!--1.指定Hadoop的文件系统的NameNodeURI--><property><name>fs.defaultFS</name><!--格式<value>hdfs://主机名:8020</value>--><value>hdfs://master:8020</value></property><!--2.指定hadoop数据的存储目录默认为/tmp/hadoop-${}--><property><name>hadoop.tmp.dir</name><value>/export/server/hadoopDatas/tempDatas</value></property>《大数据技术》1.HDFS安装与配置142<!--hive.hosts允许root代理用户访问Hadoop文件系统设置--><property><name>xyuser.root.hosts</name><value>*</value></property><!--hive.groups允许Hive代理用户访问Hadoop文件系统设置--><property><name>xyuser.root.groups</name><value>*</value></property>《大数据技术》1.HDFS安装与配置143<!--配置HDFS网页登录使用的静态用户为root--><property><name>hadoop.http.staticuser.user</name><value>root</value></property><!--配置缓存区的大小,实际可根据服务器的性能动态做调整--><property><name>io.file.buffer.size</name><value>4096</value></property>《大数据技术》1.HDFS安装与配置144<!--开启hdfs垃圾回收机制,可以将删除数据从其中回收,单位为分钟--><property><name>erval</name><value>10080</value></property>《大数据技术》1.HDFS安装与配置145

配置文件系统

Hadoop的文件系统配置文件是hdfs-site.xml,也位于“/home/swxy/hadoop-3.3.4/etc/hadoop”子目录下。《大数据技术》1.HDFS安装与配置146<!--设置一个文件切片的大小:128M--><property><name>dfs.blocksize</name><value>134217728</value></property><!--NameNodeweb端访问地址(主机名:端口号)--><property><name>node.http-address</name><value>master:9870</value></property>《大数据技术》1.HDFS安装与配置147<!--配置hdfs文件切片的副本数--><property><name>dfs.replication</name><value>3</value></property><!--设置HDFS文件权限--><property><name>dfs.permission</name><value>false</value></property>《大数据技术》1.HDFS安装与配置148<!--指定SecondaryNameNodeweb端访问地址(主机名:端口号)--><property><name>node.secondary.http-address</name><value>slave0:9870</value></property><!--指定namenode元数据的存放位置--><property><name>.dir</name><value>file:///export/server/hadoopDatas/namenodeDatas</value></property>《大数据技术》1.HDFS安装与配置149<!--指定datanode数据存储节点位置--><property><name>dfs.datanode.data.dir</name><value>file:///export/server/hadoopDatas/datanodeDatas</value></property><!--指定namenode的edit文件存放位置--><property><name>node.edits.dir</name><value>file:///export/server/hadoopDatas/nn/edits</value></property>《大数据技术》1.HDFS安装与配置150<!--指定检查点目录--><property><name>node.checkpoint.dir</name><value>file:///export/server/hadoopDatas/snn/name</value></property><property><name>node.checkpoint.edits.dir</name><value>file:///export/server/hadoopDatas/dfs/snn/edits</value></property>《大数据技术》1.HDFS安装与配置151配置yarn-site.xml

Yarn的配置文件是yarn-site.xml,也位于“/home/swxy/hadoop-3.3.4/etc/hadoop”子目录下。《大数据技术》1.HDFS安装与配置152<!--SitespecificYARNconfigurationproperties--><!--指定resourcemanager所启动服务的主机名|IP(yarn主节点位置)--><property><name>yarn.resourcemanager.hostname</name><value>master</value></property><!--指定mapreduce的shuffle处理数据方式--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>《大数据技术》1.HDFS安装与配置153<!--配置resourcemanager内部通讯地址--><property><name>yarn.resourcemanager.address</name><value>master:8032</value></property><!--配置resourcemanager的scheduler组件的内部通信地址--><property><name>yarn.resourcemanager.scheduler.address</name><value>master:8030</value></property>《大数据技术》1.HDFS安装与配置154<!--配置resource-tracker组件的内部通信地址--><property><name>yarn.resourcemanager.resource-tracker.address</name><value>master:8031</value></property><!--配置resourcemanager的admin的内部通信地址--><property><name>yarn.resourcemanager.admin.address</name><value>master:8033</value></property>《大数据技术》1.HDFS安装与配置155<!--配置yarn的web管理地址--><property><name>yarn.resourcemanager.webapp.address</name><value>master:8088</value></property><!--yarn的日志聚合是否开启--><property><name>yarn.log-aggregation-enable</name><value>true</value></property>《大数据技术》1.HDFS安装与配置156<!--聚合日志在hdfs的存储路径--><property><name>yarn.nodemanager.remote-app-log-dir</name><value>/tmp/logs</value></property><!--聚合日志在hdfs的保存时长,单位S,默认7天--><property><name>yarn.log-aggregation.retain-seconds</name><value>604800</value></property>《大数据技术》1.HDFS安装与配置157<!--聚合日志的检查时间段--><property><name>yarn.log-aggregation.retain-check-interval-seconds</name><value>3600</value></property><!--设置日志聚合服务器地址--><property><name>yarn.log.server.url</name><value>http://master:19888/jobhistory/logs</value></property>《大数据技术》1.HDFS安装与配置158<!--环境变量的继承--><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME </value></property>《大数据技术》1.HDFS安装与配置159配置MapReduce计算框架文件使用vi编辑mapred-site.xml文件<!--指定mapreduce运行的框架yarn--><property><name></name><value>yarn</value></property>《大数据技术》1.HDFS安装与配置160<!--开启mapreduce最小任务模式--><property><name>mapreduce.job.ubertask.enable</name><value>true</value></property><!--配置mapreduce的历史记录组件的内部通信地址即RPC地址--><property><name>mapreduce.jobhistory.address</name><!--格式<value>主机名:端口</value>--><value>master:10020</value></property>《大数据技术》1.HDFS安装与配置161<!--配置mapreduce历史记录服务的web管理地址--><property><name>mapreduce.jobhistory.webapp.address</name><value>master:19888</value></property><!--配置mapreduce已完成的job记录在HDFS上的存放地址--><property><name>mapreduce.jobhistory.done-dir</name><value>/history/done</value></property>《大数据技术》1.HDFS安装与配置162<!--配置mapreduce正在执行的job记录在HDFS上的存放地址--><property><name>ermediate-done-dir</name><value>/history/done_intermediate</value></property><!--为MR程序主进程添加环境变量--><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=/home/swxy/hadoop-3.3.4</value></property>《大数据技术》1.HDFS安装与配置163<!--为Map添加环境变量--><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=/home/swxy/hadoop-3.3.4</value></property><!--为Reduce添加环境变量--><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=/home/swxy/hadoop-3.3.4</value></property>《大数据技术》1.HDFS安装与配置164配置master的workers文件使用vi编辑workers文件复制master上的Hadoop到slave节点《大数据技术》1.HDFS安装与配置1652.1编辑环境变量使用vi编辑/etc/profile文件将下述代码追加到文件的尾部:exportHADOOP_HOME=/home/swxy/hadoop-3.3.4exportPATH=:$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin保存退出后,执行“source/etc/profile”命令,使上述配置生效执行“hadoopversion”命令,查看配置是否生效《大数据技术》2.用户配置1662.2创建数据目录(1)创建hadoop.tmp.dir对应目录:mkdir-p/export/server/hadoopDatas/tempDatas(2)创建.dir对应目录:mkdir-p/export/server/hadoopDatas/namenodeDatas(3)创建dfs.datanode.data.dir对应目录:mkdir-p/export/server/hadoopDatas/datanodeDatas(4)创建node.edits.dir对应目录:mkdir-p/export/server/hadoopDatas/nn/edits(5)创建node.checkpoint.dir对应目录:mkdir-p/export/server/hadoopDatas/snn/name(6)创建node.checkpoint.edits.dir对应目录:

mkdir-p/export/server/hadoopDatas/dfs/snn/edits

最后需要修改文件权限。

chmod777-R/export/server/hadoopDatas《大数据技术》2.用户配置1672.3格式化首次启动HDFS需要对其进行格式化操作,做清理和准备,只需在master节点格式化Namenode,命令是“hdfsnamenode-format”《大数据技术》2.用户配置1683.1启动与关闭启动Hadoop使用start-all.sh命令启动Hadoop集群,执行命令jps验证Hadoop是否启动成功关闭Hadoop可以使用stop-yarn.sh和stop-dfs.sh命令,或者stop-all.sh命令《大数据技术》3.基本应用1693.2监控页面在本地hosts文件(C:\Windows\System32\drivers\etc\hosts)添加映射,内容如下。01master02slave003slave1在Hadoop集群的运维中,系统管理人员还常常使用Web界面监视系统状况。在浏览器地址栏输入http://master:9870/采用web方式查看Hadoop状态《大数据技术》3.基本应用1703.3文件上传与下载(1)创建目录:hadoopfs-mkdir/test(2)查看文件列表:hadoopfs-ls/(3)上传文件到HDFS:hadoopfs-put/opt/jyp/test.txt/test/input/test.txt将本地Linux用户root的文件“/opt/jyp/test.txt”上传到HDFS的“/test/input”下:hadoopfs-copyFromLocal-f/opt/jyp/jyp.txt/test/input/jyp.txt(4)下载文件到本地方式一:“hadoopfs-get”hadoopfs-get/test/input/test.txt/opt/jyp/test.dat方式二:“hadoopfs-copyToLocal”hadoopfs-copyToLocal-f/test/input/jyp.txt/opt/jyp/jyp1.txt(5)查看HDFS文件内容:hadoopfs-cat/test/input/test.txt《大数据技术》3.基本应用1713.4运行示例程序在终端输入如下的运行命令:hadoopjar/home/swxy/hadoop-3.3.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.4.jarpi1010《大数据技术》3.基本应用1723.5应用案例1、Hadoop在Windows下的环境配置(1)解压hadoop-3.3.4.tar.gz,将解压后的文件夹存放到本地,例如:D:\ProgramFiles(x86)\hadoop-3.3.4。(2)解压hadoop-3.3.4.zip,将bin目录下所有的文件覆盖D:\ProgramFiles(x86)\hadoop-3.3.4\bin目录。(3)将winutils.exe和hadoop.dll文件拷贝到C:\Windows\System32目录下。(4)配置环境变量,将Hadoop添加到环境变量。《大数据技术》3.基本应用变量值HADOOP_HOMED:\ProgramFiles(x86)\hadoop-3.3.4HADOOP_USER_NAMErootPath%HADOOP_HOME%\bin;%HADOOP_HOME%\sbin1733.5应用案例2、使用IDEA创建Maven项目(1)配置Maven环境变量(2)打开IDEA,创建一个项目名为hdfs_file的Maven项目《大数据技术》3.基本应用变量值MAVEN_HOMED:\ProgramFiles(x86)\apache-maven-3.8.4Path%MAVEN_HOME%\bin1743.5应用案例(3)创建resources目录,并添加mapred-site.xml、yarn-site.xml和perties文件。(4)修改pom.xml文件。《大数据技术》3.基本应用175《大数据技术》176

资料开始准备必要条件(计算机、数据、软件)课程资源按计划上传百度云盘,从如下地址下载:/s/1lhMA0cDCWS5bKZh8TU3c9w

提取码:swxy内容包括:讲课PPT实验指导视频实验数据相关免费软件其他文档(补充说明等)手机扫码获取资源谢谢大家恳请批评指正联系邮箱:jypccsu@126.com第05章分布式数据库系统HBase

新型结构化存储模式HBase系统架构HBase的数据模型检索机制读写过程分析178《大数据技术》1791.新型结构化存储模式行存储(rowstorage)是指下一个存储对象是同条记录的下一个属性的存储模式。传统关系型数据库DB2、Oracle、Sybase、SQLServer、MySQL、Greenplum、Netezza和Teradata等都采用了行存储模式。1.1列存储问题:读取数据开销大《大数据技术》1801.新型结构化存储模式列式存储(columnstorage)模式:存储空间中的下一个对象是下一条记录的同一属性。按“列”存储,降低开销提高压缩比《大数据技术》

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论