完整全套教学课件-基于新信息技术的Hadoop大数据技术_第1页
完整全套教学课件-基于新信息技术的Hadoop大数据技术_第2页
完整全套教学课件-基于新信息技术的Hadoop大数据技术_第3页
完整全套教学课件-基于新信息技术的Hadoop大数据技术_第4页
完整全套教学课件-基于新信息技术的Hadoop大数据技术_第5页
已阅读5页,还剩198页未读 继续免费阅读

下载本文档

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

文档简介

全套可编辑PPT课件完整全套教学课件-基于新信息技术的Hadoop大数据技术项目1

Linux系统概述项目2

Hadoop技术概述项目4

Zookeeper分布式协调服务项目5搭建HDFS分布式集群项目6搭建YARN

分布式集群项目7

Hadoop

分布式计算框架(MapReduce)项目8

Hive的安装部署项目10

HBase集群安装配置项目11

Sqoop

安装部署项目12

Flume的安装与使用项目13

Kafka分布式集群搭建项目14

Davinci安装部署ras¹23J8A73911dlinux系统概述1.1.1

linux操作系统的特点Linux

,

全称GNU/Linux

,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基

于POSIX

的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix

工具软件、应用程序和网络协议。它支持32位

和64位硬件。Linux继承了Unix以网络为核心的设计思想,是

个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的RedHatEnterpriseLinux、SUSE、Oracle

Linux等。Linux

操作系统的特点有:良好的用户界面、可移植性、全面支持网络协议、支持多任务及多用户、免费及源代码开放、可靠的安全性。0Z

318A759linux系统概述1

.1.1

linux操作系统的特点【3到2

TJ8A7591linux系统概述1

.1.3

linux操作系统的应用场景1

、高端服务器领域。服务器市场占有率已经达到25%,很多公司都是用Liunx做操作系统的。2、桌面应用领域。新版本的Liunx完全可以作为一种集办公应用、多媒体应用、网络应用等多方面

功能为一体的图形界面操作系统。3、嵌入式应用领域。目前能够支持嵌入式开发的操作系统有PalmOS、嵌入式Linux,

WindowsCE。bg32T8A76911d

linux系统概述>1

.1.4

linux版本>linux版本版本分为两类:内核版本和发行版本

o

3x0

d59

1

.内核版本内核是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序

,它提供了一个在裸设备与应用程序间的抽象层。例如,程序本身不需要了解用户的主板芯

片集或磁盘控制器的细节就能在高层次上读写磁盘。内核的开发和规范一直是由Linus

领导的开发小组控制着,

版本也是惟一的。开发小组每隔一

段时间公布新的版本或其修订版,从1991年10月Linus向世界公开发布的内核0.0.2

本(0

.0.1版本功能相当简陋所以没有公开发布)到目前最新的内核2.6.2

2

,Linux

的功能越来

越强大。1ublholunahg发行版本仅有内核而没有应用软件的操作系统是无法使用的,所以许多公司或社团将内核、源代码及相

关的应用程序组织构成一个完整的操作系统,让一般的用户可以简便地安装和使用Linux,这就是

所谓的发行版本(distribution),一般谈论的Linux系统便是针对这些发行版本的。目前估计各种

发行版本有数十种,它们的发行版本号各不相同,使用的内核版本号也可能不一样,下面就为读者

介绍目前比较著名的几个发行版本。2271&E2Y2_

71

.1.4

linux版本linux版本版本分为两类:内核版本和发行版本rasIZ

318At5914dslinux系统概述9Musbtuno9xlov

n32

78A1591linux系统概述1

.1.4

linux版本linux版本版本分为两类:内核版本和发行版本发行版本Linux几种常见的发行版,如商业版本redHat:十分稳定且好用,但是需要付费。centos:

然不如redHat

,但功能全面,且免费。Ubuntu:

拥有图形化界面,方便操作,PC针对Ubuntu软

件较多。

27

272b1gThanksHadoop

大数据技术Hadoop

技术概述Hadoop的前世今生113s12_3J8A73911dsv

apunaE)

10[3

J8A73911双11电商数据大屏双全珑汪欢节240*91,217,017,615341,847,366无线成交占比:68%间

{00分35秒,2015天猫双11全球狂欢节交易额超过800亿!无线占比68山东高速大数据平台¥00.069,498656元3112

3J8A75911dsp4高速收费站数据大屏0

互联网支付单位:口万元70.672022

17

21信联加油信联卡单位:万元2022A

卡卡2022-03-21善23.52022-03-210

ETC卡单位:万元2022-03-17咔预充20221昨日卡片、OBU

销售单位:个321113s1z3J8A73911d智慧交通国工程建设作战指挥室累计

工123,45613123J8A75911dsp4.1av王程建设作战指挥室529天用

n预

估M187用202B

资源J8A70911ds

生产作业KPI指标分析32

1J8A76911大数据是什么大数据这三个字只是一门市场语言,不是一项专门的技术。大数据的背后是

硬件、数据库、操作系统、Hadoop

等一系列技术的综合应用。【3到278A759大数据是什么大数据这三个字只是一门市场语言,不是一项专门的技术。大数据的背后

是硬件、数据库、操作系统、Hadoop等一系列技术的综合应用。

Hadoop是什么E0

Apache

ad

opHadoop

是由一系列软件库组成的框架。这些软件库各自负责Hadoop

一部分功能;其中最主要的是HDFS、MapReduce和YARN。HDFS

负责大数据

的存储、MapReduce

负责大数据的计算、YARN

负责集群资源的调度。1013s123J8A75911d

Hadoop项目起源

Apache

HaoopHadoop起源于Google的三篇著名论文:√《The

Google

File

System>2003年√《MapReduce

:Simplified

Data

Processingon

LargeClusters》2004年

√《Bigtable:A

Distributed

Storage

System

for

Structured

Data》2006年2004年左右,DougCutting开发出初始版本的Hadoop,

作为Nutch项目的一

部分。135123J8A75911dZ1J8A76911dHadoop发展历程·

第一阶段√前Hadoop时代(2003-2007)√三大论文、DougCutting、HadoopHBase√

萌芽阶段HBase

Ma

前Redice(N080

分布式数据库)

(分布式离线计算框架)HDFS(分布式文件系统)131123J8A75911dsPHadoop发展历程·

第二阶段·

后Hadoop时代(2008-2014)=

oin5nHadoop、HBase、Hive、Pig、Sqoop

等百花齐放,眼花缭乱各个组件层出不穷,相互之间的兼容性管理混乱,虽然选择性多,但是很乱HBase

Hive

PigMepReduoeMahoutFlumeHD8(分布式文件系统)(分布式离线计算框架)7ookeeperSqoopY3z18A7591fdspHadoop发展历程·

第三阶段√

Hadoop

商业发行版时代(2011-2020)

x

d5√

商业发行版、CDH

、HDP

等等,云原生套件出现,如阿里云、华为云、腾讯云、百度云

nv√标准的发行版大行其道,提供免费版本,云原生商业版如火如荼发管复合TO0Ls安全运营DataLifecycleGovernanceZeppelinAmbar

User

ViewAdmlnlstration验证Authorlzatlon审接Data

Protectlon配

、管理和监控暑

访

问FalconAtlaAmbariCloudbreakZooKeeper北量脚本PigSqlHteYARHaHoSg8ccumuloPhoenixSIIderH:DataOpHDdo

op分布浸St010erating

SysFS式

系搜素5oltem为存0u

3合作饮RangerKnonAtlasHOFSEncryptlon数据工作浸Sgo0pFlumeKafkaHFSS计划0ozle统管理【3辑z

T8A7591rdHadoop发展历程·

第四阶段√

国产化开源发行版时代(2021开始)√

USDP√a标准的发行版纷纷收费,国产化开源发行版势在必行Manager

NodemSQLMananerSeork

Node

Work

Node

Work

NodeAgeBigDataS

Big

718A76911dHadoop名字起源Hadoop

这个名字不是一个缩写,而是一个虚构的名字。该项目的创建者,

Doug

Cutting解释Hadoop的得名:“这个名字是我孩子给一个棕黄色的大象

玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子恰恰是这方面的高手。”Hadoop生态系统简介13sT2_3J8A7391fdsv

apunaE)10HadoopRoadmap3.x(3.x.x):最新的稳定版

木,最高3.2.12.x(0.23.x,2.x.x):

该版本是由0.23.x

发行

版系列的延续,最高2.10.01.x(0.20.x,0.21.x,0.22.x,1.x.x):该版本是由0.20.x发行版系列的延续,最高1.2.12007

200820092010

2011

2012201320142015201620172018201913s¹z3J8A7391fdspgHadoop版本迭代早期

(0.14.x-0.19.x):

实验性版木13s12.3J8A73911dsp9Hadoop生态系统Ambari(集群安装、部署、配置和管理工具)YARN(资源管理系统)HDFS(分布式文件系统)Mahout(机器学习)Flink(流式计算框架)Hive(数仓工具)MapReduce(离线计算框架)Pig(数据分析工具)Spark(内存计算框架)Sqoop(数据库迁移工具)Flume(日志采集工具)DataX(数据同步工具)HBase(分布式数据库)Zookeeper(协调

系统)Kafka(消息

队列)Hadoop的优势及应用场景3128A⁷5911dv

apunaE)101J8A7591dHadoop的优势方便Hadoop可以运行在一般商业服务器构成的大型集群上,或者是亚马逊弹性计算云(Amazon

EC2)/阿里云等云计算服务上。弹性Hadoop

可以通过增加节点方式来线性地扩展集群规模,以便处理更大的

数据集。同时,在集群负载下降时,也可以减少节点以提高资源使用效率。健壮Hadoop在设计之初,就将故障检测和自动恢复作为一个设计目标,它可

以从容处理通用计算平台上出现硬件失效的情况。简单Hadoop

允许用户快速编写出高效的分布式计算程序。AT6911dps

1vHadoop

的应用领域移动数据Cloudera

运营总监称,美国有70%的智能手机数据服务背后都是由Hadoop

来支撑的,也就是说包括数据的存储以及无线运营商的数据处理等,

都是在利用Hadoop技术。电子商务Hadoop

在这一领域应用非常广泛,eBay就是最大的实践者之一。国内的电商

平台在Hadoop技术储备上也非常雄厚。在线旅游目前全球范围内80%的在线旅游网站都是在使用Cloudera

公司提供的Hadoop发行版,其中SearchBI网站曾经报导过的Expedia也在其中。8A7591dp9.1nvHadoop

的应用领域移诈骗检测这个领域普通用户接触得比较少,一般只有金融服务或者政府机构会用到。利

用Hadoop

来存储所有的客户交易数据,包括一些非结构化的数据,能够帮助

机构发现客户的异常活动,预防欺诈行为。医疗保健医疗行业也会用到Hadoop

,

像IBM的

Watson就会使用Hadoop集群作为其服

务的基础,包括语义分析等高级分析技术。医疗机构可以利用语义分析为患者

提供医护人员,并协助医生更好地为患者进行诊断。能源开采美国Chevron

公司是全美第二大石油公司,它们的IT部门主管介绍了Chevron

使

用Hadoop的经验,利用Hadoop

进行数据的收集和处理,其中一些数据是

海洋的地震数据,以便找到油矿的位置。Hadoop

与云计算113s1z_3J8A73911dsAeV

3puna#)Z

J8A759云计算是什么云计算是一种可以通过网络方便地接入共享资源池,按需获取计算资源

(包括网络、服务器、存储、应用、=服务等)的服务模型。共享资源池中的资源可以通过较少的管理代价和简单业务交互过程而快速部署和发布。7J8A7591云计算的特点按需提供服务以服务的形式为用户提供应用程序、数据存储、基础设施等资源,并可以根据用户需

求自动分配资源,而不需要管理员的干预。比如亚马逊弹性计算云(Amazon

EC2),用

户可以通过Web表单提交自己需要的配置给亚马逊,从而动态获得计算能力,这些配置

包括CPU核数、内存大小、磁盘大小等。宽带网络访问用户可以通过各种终端设备,比如智能手机、笔记本等,随时随地通过互联网访问云计算服务。资源池化资源以共享池的方式统一管理。通过虚拟化技术,将资源分享给不同的用户,而资源

的存放、管理以及分配策略对用户是透明的。高可伸缩性服务的规模可以快速伸缩,来自动适应业务负载的变化。这样就保证了用户使用的资源与

业务所需要的资源的一致性,从而避免了因为服务器超载或者冗余造成服务质量下降或者

资源的浪费。8A7云计算的特点可量化服务云计算服务中心可以通过监控软件监控用户的使用情况,从而根据资源的使用情况对

提供的服务进行计费。大规模承载云计算的集群规模非常巨大,一般达到数万台服务器以上。从集群规模来看,云计算赋予了用户前所未有的计算能力。服务非常廉价云服务可以采用非常廉价的PCServer来构建,而不是需要非常昂贵的小型机。另外

云服务的公用性和通用性,极大地提升了资源利用率,从而大幅降低使用成本。8A75911dspe.1nvHadoopVS云计算云计算包含以下3种模式:IaaS(Infrastructure

as

a

Service)它的含义是基础设施即服务。比如;阿里云主机提供的就是基础设施服务,可以直接购买阿里云主机服务。PaaS(Platform

as

a

Service):它的含义是平台即服务。比如,阿里云主机上已经部署好Hadoop集群,可以提供大

数据平台服务,用户直接购买平台的计算能力运行自己的应用即可。SaaS(Softwareasa

Service)

:它的含义是软件即服务,比如阿里云平台已经部署好具体的项目应用,用户直接购买

账号使用它们提供的软件服务即可。总的来说,云计算是一种运营模式,而Hadoop

是一种技术手段,对云计算提供技术

支撑。Hadoop与Spark113s12_3J8A73911dspTV

1punat)1J8A75911Spark是什么Spark

是基于内存计算的大数据并行计算框架。Spark基于内存计算的特性,提高了

在大数据环境下数据处理的实时性,同时保证了高容错性和高可伸缩性,允许用户将Spark

部署在大量的廉价硬件之上形成集群,从而提高并行计算能力。Spark

于2009年诞生于加州大学伯克利分校AMP

Lab,

在开发以Spark

为核心的BDAS时,AMP

Lab提出的目标是:onestacktorulethemall,也就是说在一套软件栈

内完成各种大数据分析任务。目前,Spark

已经成为Apache软件基金会旗下的顶级开源

项目。bSpark的特点运行速度快Spark源码是由Scala语言编写的,Scala语言非常简洁并具有丰富的表达力。Spark充分利用和集成了Hadoop

等其他第三方组件,同时着眼于大数据处理,那么数据处理速

度是至关重要的,Spark

通过将中间结果缓存在内存从而减少磁盘I/O来达到性能的提升。易用性Spark支持Java、Python和Scala的API,

还支持超过80种高级算法,使用户可以快速构建不同的应用。而且Spark支持交互式的Python和Scala的shell

,可以非常方便地在这

些shell中使用Spark集群来验证解决问题的方法。支持复杂查询除了简单的map及reduce操作之外,Spark还支持复杂查询。Spark支持SQL查询、流式计算、机器学习和图算法,同时用户可以在同一个工作流中无缝地搭配这些计算范式。Spark的特点实时的流处理与Hadoop

相比,Spark

不仅支持离线计算还支持实时流计算。SparkStreaming主

要用来对数据进行实时处理,而Hadoop

在拥有了YARN

之后,也可以借助其他框架进行

流式计算。容错性Spark引入了弹性分布式数据集RDD(ResilientDistributedDataset),它是分布在一

组节点中的只读对象集合,这些集合是弹性的,如果数据集的一部分丢失,则可以根据

“血统”对它们进行重建。另外在对RDD进行计算时可以通过CheckPoint机制来实现容错。SparkHadoop流式计算Streaming无离线计算CoreMapReduce图计算GraphX无机器学习MLibMahoutSQLDataFrameHive13s¹23J8A75911dsp421avHadoopVSSparkbuna79

oV8nHadoop与传统关系型数据库3128A⁷5911dv

1punaE)1031z18A76911RDBMS是什么传统关系型数据库RDBMS(RelationalDatabaseManagement

System)是指对应于

一个关系模型的所有关系的集合。关系型数据库系统实现了关系模型,并用它来处理数据。

关系模型在表中将信息与字段关联起来,从而存储数据。这种数据库管理系统需要结构(例如表)在存储数据之前被定义出来。有了表,每一

列(字段)都存储一个不同类型(数据类型)的信息。数据库中的每条记录都有自己唯一

的key

(主键)作为属于某个表的一行,行中的每一个信息都对应了表中的一列——所有的关系一起构成了关系模型。

TJ8A7RDBMS

的特点容易理解二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解。使用方便通用的SQL语言使得操作关系型数据库非常方便。易于维护丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大降低了数据冗余和数据不一致的概率。支持SQL支持SQL

语言完成复杂的查询功能。RDBMSHadoop数据规模GB级P

B

级访问方式交互型和批处理批处理数据读写多次读写一次写、多次读集群收缩性非线性线性13s1z23J8A73911dsp4.1avHadoopVS

RDBMSOb

Ine709x

O2fovnFJ1n集群收缩性RDBMS是非线性扩展的,而Hadoop支持线性扩展,可以通过简单的增加节点来扩

展Hadoop

集群规模。总的来说,Hadoop

适合用于海量数据的批处理,而

RDBMS适合用于少量数据的实

时查询。在实际工作中,Hadoop

一般需要与RDBMS

结合来使用,比如可以利用Hadoop

集群对海量数据进行统计分析,然后将分析结果存入RDBMS

对外提供实时查询

服务。78A7591dsp9,1nvHadoopVS

RDBMS数据规模RDBMS

适合处理GB

级别的数据,数据量超过这个范围就会出现性能急剧下降,而Hadoop可以处理PB级别的数据,没有数据规模的限制。访问方式RDBMS支持交互处理和批处理,而Hadoop

仅支持批处理。数据读写RDBMS支持数据多次读写,而Hadoop支持一次写、多次读。WThanksHadoop

大数据技术——Zookeeper分布式协调服务Zookeeper架构设计与工作原理13s123J8A75911dsv

1punaE)108A7591tdapZookeeper是什么定

义:zookeeper

一个分布式的开源的协调服务框架,服务于分布式应用。它暴露了一系列的原语操作服务,因此分布式应用能够基于这些服务,构建出

更高级别的服务,比如同步,配置管理,分组和命名服务。zookeeper

设计上易于编码,数据模型构建在我们熟悉的树形结构目录风格

的文件系统中。zookeeper

运行在Java中,同时支持Java和C

语言。18A7591dZookeeper的特点最终一致性客户端不论连接到哪个Server,展示给它的都是同一个视图,这是

Zookeeper

最重要的特点。可靠性Zookeeper具有简单、健壮、良好的性能。如果一条消息被一台服务器接

收,那么它将被所有的服务器接收。实时性Zookeeper

保证客户端将在一个时间间隔范围内,获得服务器的更新信息

或者服务器失效的信息。但由于网络延时等原因,Zookeeper不能保证两个客

户端能同时得到刚更新的数据,如果需要最新数据,应该在读数据之前调用sync()接口。等待无关(wait-free)慢的或者失效的客户端不得干预快速的客户端的请求,这就使得每个客户

端都能有效地等待。8A75911dZookeeper的特点原子性对Zookeeper的更新操作要么成功,要么失败,没有中间状态。顺序性它包括全局有序和偏序两种。

9全局有序是针对服务器端,例如,在一台服务器上,消息A在消息B

前发布,

那么所有服务器上的消息A都将在消息B前被发布。偏序是针对客户端,例如,在同一个客户端中,消息B在消息A后发布,那

么执行的顺序必将是先执行消息A然后在是消息B。所有的更新操作都有严格的

偏序关系,更新操作都是串行执行的,这一点是保证ZooKeeper功能正确性的关键。1312_318A75911dsp9.1avZookeeper

的基本架构与工作原理Zookeeper

服务自身组成一个集群(2n+1个服务节点最多允许n个失效)。

Zookeeper服务有两个角色:一个是主节点(Leader),负责投票的发起和决

议,更新系统状态;另一种是从节点(Follower)

,用于接收客户端请求并向

客户端返回结果,在选主过程(即选择主节点的过程)中参与投票。主节点失

效后,会在从节点中重新选举新的主节点。Zookeeper服

务主节点从节点从节点

从节点

从节点服务端

服务端

服务端

服务端

服务端客户端

客户端

客户端

客户端

客户端

客户端

客户端客户端12

118A75911dspeZookeeper数据模型zookeeper

的数据结构与linux文件系统很类似,与Linux中的文件系统路径

不同

,Zookeeper

中的路径必须是绝对路径,而且每条路径只有唯一的一种表示方式(/appl/p_3)。T0A7691d3p9.1mZookeeper数据模型Znode节点特性临时节点znode

节点有两种:临时节点和持久节点。Znode

的类型在创建时就确定,

n之后不能修改。当创建临时节点的客户端会话结束时,Zookeeper会将该临时

节点删除。而持久节点不依赖与客户端会话,只有当客户端明确要删除该持久

节点时才会被真正删除。临时节点不可以有子节点,即使是短暂的子节点。顺序节点顺序节点是指名称中包含Zookeeper

指定顺序号的znode。如果在创建

znode的时候设置了顺序标识,那么该znode名称之后就会附加一个值,这个

值是由一个单调递增的计数器所添加的,由父节点维护。13123J8A75911dsp4.1avZookeeper数据模型观察机制客户端可以在znode

上设置watcher,

当节点状态发生改变时将会触发watcher所对应的操作。当watcher

被触发时,ZooKeeper将会向客户端发送

且仅发送一条通知,因

为watcher只能被触发一次,这样可以减少网络流量。

为了能够多次收到通知,客户端需要重新注册所需的watcher。Zookeeper服务/spider

监视器

注册

注册

注册客户端客户端

客户端10ThanksHadoop

大数据技术—搭建HDFS分布式集群HDFS架构设计与工作原理13s123J8A75911dv

apunaE)0特

8A1691HDFS是什么HDFS(Hadoop

Distributed

File

System)是Hadoop

项目的核心子项目,

是分布式计算中数据存储管理的基础,是基于流数据模式访问和处理超大文件的需求而开发的,可以运行于廉价的商用服务器上。HDFS

于Google

在2003年10月份发表的GFS

(

Google

File

System)论

文。它其实就是GFS

的一个克隆版本。17

T8A7591HDFS产生背景随着数据量的不断增大,最终会导致数据在一个操作系统的磁盘中存储不

下。那么为了存储这些大规模数据,就需要将数据分配到更多操作系统管理的

磁盘中进行存储,但是这样会导致数据的管理和维护非常不方便,所以就迫切

需要一种系统来管理和维护多台机器上的数据文件,实际上这种系统就是分布

式文件系统,而

HDFS只是分布式文件系统中的一种。g【3辑zJ8A1591HDFS设计理念HDFS

的设计理念来源于非常朴素的思想:即当数据文件的大小超过单台计算机的存储能力时,就有必要将数据文件切分并存储到由若干台计算机组成的集群中,这些计算机通过网络进行连接。而

HDFS

作为一个抽象层架构在集群网络之上,对外提供统一的文件管理

功能,对于用户来说就感觉像在操作一台计算机一样,根本感受不到HDFS

底层的多台计算机,而

且HDFS还能够很好地容忍节点故障且不丢失任何数据。Z

J8A7591fdHDFS

设计目标HHDFS

核心设计目标:支持超大文件存储支持超大文件存储是HDFS最基本的职责所在。流式数据访问流式数据访问是HDFS选择的最高效的数据访问方式。流式数据访问可以理

为:读取数据文件就像打开水龙头一样,可以不停地读取。简单的一致性模型在HDFS文件系统中,一个文件一旦经过创建、写

入、关闭之后,一般就不

需要再进行修改,这样就可以简单地保证数据的一致性。硬件故障的检测和快速应对通过大量普通硬件构成的集群中,硬件出现故障是常见的问题。HDFS

文件

系统一般是由数十台甚至成百上干台服务器组成,这么多服务器就意味着高故

障率,但是HDFS

在设计之初已经充分考虑到这些问题,认为硬件故障是常态

而不是异常,所以如何进行故障的检测和快速自动恢复也是HDFS的重要设计目

标之一。113s1z.3J8A73911dHDFS

系统架构HDFSClient

(HDFS客户端b

SecondaryNameNode

(备用节点)DataNode(从节点)HDFSClient

(HDFS

客户端HDFSClient

(HDFS

客户端DataNode(从节点)NameNode

(主节点)DataNode(从节点)元数据节点edits

fsimage1.生成新的editsedits.new6.将edis替换为新的

fsimage.ckptedits.new5.将fsimage.ckpi替换为fsimageedits

fsimage从元数据节点2.用httpget复制edits和fsimage文件

到从元数据节点edits

fsimage13s¹z318A73911dsHDFS

系统架构fsimage.ckpt4.用httppost复制

fsimage.ckpt到元

数据节点3

.

将simage导入内存,应用edits中的操作,生成

新的fsimage.ckptIAv18A75911HDFS

优缺点HDFS

的优点高容错性数据自动保存多个副本,HDFS通过增加多个副本的形式,提高HDFS文件

系统的容错性,某一个副本丢失以后可以自动恢复。suov适合大数据处理能够处理GB、TB、甚至PB级别的数据规模;能够处理百万规模以上的文件数

量;能够达到10000个节点以上的集群规模。流式文件访问数据文件只能一次写入,多次读取,只能追加,不能修改;HDFS

能保证数

据的简单一致性。可构建在廉价的机器上HDFS提供了容错和恢复机制,比如某一个副本丢失了可以通过其他副本来

恢复,从而保证了数据的安全性和系统的可靠性。HDFS

的缺点不适合低延时数据访问比如毫秒级别的数据响应时间,这种场景HDFS是很难做到的。HDFS

更适

合高吞吐率的场景,就是在某一时间内写入大量的数据。不适合大量小文件的存储如果有大量小文件需要存储,这些小文件的元数据信息会占用NameNode

大量的内存空间。这样是不可取的,因为NameNode

的内存总是有限的。如果

读取小文件的寻道时间超过文件数据的读取时间,它就违反了HDFS大数据块的

设计目标。不适合并发写入、文件随机修改一个文件只能有一个写操作,不允许多个线程同时进行写操作;仅支持数

据的append(追加)操作,不支持文件的随机修改。18A75911HDFS

优缺点2.获取块的位置信息NameNode名字节点5.读取DistributedFileSsystemFSDataInputStream4.读取DataNode数据节点13s123J8A75911dHDFS

读数据流程1.打开3

.

取6.关闭客户端节点DataNode数据节点DataNode数据节点v

3pun3e)HDFS

客户端ras12_38A7591fdHDFS写数据流程客户端节点4.写数据包5.返回响应数据包DistributedFileSsystemFSDataOutputStream4DataNode5数

点16V

b

3qla51.创建3

.

入6.关闭DataNode数据节点DataNode数据节点NameNode名字节点数据节点组成

的数据管道2.创建7.完成HDFS

客户端45HDFS高

(HA)113s12_3J8A73911dspav3punaE[unp

10TJ8A76911dspHA

机制产生的背景高可用(High

Availability,简

称HA)为了整个系统的可靠性,我们通常会在系统中部署两台或多台主节点,多

台主节点形成主备的关系,但是某一时刻只有一个主节点能够对外提供服务,当某一时刻检测到对外提供服务的主节点“挂”掉之后,备用主节点能够立刻

接替已挂掉的主节点对外提供服务,而用户感觉不到明显的系统中断。这样对

用户来说整个系统就更加的可靠和高效。影响HDFS集群的可用性主要包括两种情况一是NameNode

机器宕机,将导致集群不可用,重

启NameNode

之后才

可使

用;二是计划内的NameNode节点软件或硬件升级,导致集群在短时间内不可

用。发送状态信息发送状态信息存储共享数据的JournalNode集群共享数据

共享数据Journal

JournalJournalNodelNode2Noden13s1238A73911dHDFS

HA架构Zookeeper集群Zookeeper

Zookeeper2主备切换控制器名字节点(备用的)主备切换控制器名字节点(活跃的)数据节点(2)数据节点

(1)数据节点(n)Zookeeper

HDFS

HA机制tn⁰Active

NameNode

Standby

NameNode④

利用Zookeeper

完成主备选举…

Zookeepor④利用Zookeoper

完成主备选举Zookeeper集群Zookeeper

Zookeeper⑥

切换主备状态

①监控状态②状态变化回调HealthMonitorZKFailoverController①需要主备选举HealthMonitorZKFailoverController①需要主备选举①监控状态②

状态查化回调ActiveStandbyElectorzkfc

进程ActiveStandbyElectorzkfc进程13s1z_3J8A73911d⑤通知主备选举结果⑤通知主备选举结果⑥

切换主备状态b0n集群规划r3112_3J8A75911dspd6nv

35uns

nvn1守护进程hadoopl/192.168.0.111hadoop2/192.168.0.112hadoop3/192.168.0.113NameNode是是DataNode是是是ResourceManager是是NodeManager是是是Joumalnode是是是Zookeeper是是是3z

J8A75911dsp主机规划

bon

Vn9ndgU)72)V59n²olov(bloy)sf

nl

nvnE软件版本JDKJDK

1.8CentOSCentOS

7ZookeeperApacheZookeeper

3.4.6HadooplApache

Hadoop2.9.213s1z

3J8A75911d软件规划6bunpn09x

g节点名称用户组用户hadoop1hadoophadoophadoop2hadoophadoophadoop3hadoophadoop91uabofuno18

13s¹z3J8A73911ds用户规划T2)

d3g

1oy名称路径所有软件目录home

hadoop/app/所有数据和日志目录/home

hadoop/data/

目录规划dpggnu93s1z

3J8A73911ds9fus1ab

ofunon0ueST2)80ThanksHadoop

大数据技术—搭建YARN分布式集群YARN架构设计与工作原理13s123J8A75911dv

1punaE)013s1z3J8A73911d

1vYARN

产生背景MapReduce1.0系统架构ClientClientClientHeartbeatTaskTrackerTaskSchedulerHeartbeatTaskTrackerJobTrackerHeartbeatTaskTrackerMap

taskMap

Map

taskReducetaskMap

task

Map

taskReducetaskMaReducce

task3Z

TJ8A7591

YARN产生背景MapReduce1.0架构缺陷扩展性差JobTracker

同时兼备了资源管理和作业控制两个功能,严重制约了Hadoop

集群扩展性。RPCTaskTracker

TaskTracker

TaskTrackerFunctionCallTaskSchedulerJobTracker

(All

Jobs)13s123J8A75911dYARN

产生背景MapReduce1.0架构缺陷资源利用率低MRv1采用基于slot的粗粒度的资源分配模型,包含Mapslot和Reduce

slot。某个任务用不完的资源其他任务也不能用,因为map和reduce的资源完全不能共享的。当一个作业刚提交时,只会运行Map

Task,此时Reduce

Slot闲置。Step

2:SchedulinghandlerJT4:for

tasksStep

1:RPCrequestTask

SchedulerAssigned

tasksS0b

10Step

ResponseTT_

1TT_213s123J8A75911d

vYARN产生背景MapReduce1.0架构缺陷通用性差随着互联网高速发展导致数据量剧增,MapReduce

这种基于磁盘的离线

计算框架已经不能满足应用要求,从而出现了一些新的计算框架以应对各种场

景,包括内存计算框架、流式计算框架和迭代式计算框架等,而

MRv1

不能支持多种计算框架并存。Hadoop

SparkNodeNode

NodeHadoopSpark33%17%

0%33%27%

0%33%17%

0%NodeNodeMPI1312_3J8A75911YARN

产生背景MapReduce1.0架构缺陷单点故障MRv1

采用了master/slave

构,其中master

存在单点故障问题,一旦它出现故障将导致整个集群不可用。RPCTaskTracker

TaskTracker

TaskTrackerFunctionCallTaskSchedulerJobTrackcr

(All

Jobs)

8A75911dYARN

产生背景MapReduce1

.0架构缺陷扩展性差:兼具资源管理和作业调度资源利用率低:基于粗粒度slot资源分配

通用性差:不支持多种计算框架单点故障:master

没有实现高可用2

16A75SYARN是什么YARN

是Hadoop2.0版本新引入的资源管理系统,直接从MR1演化而来。ApacheHadoop

YARN(Yet

Another

Resource

Negotiator,

另一种资源协调者)是一种新

Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管

理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。核心思想:将MR1中JobTracker的资源管理和作业调度两个功能分开,分别由

ResourceManager

和ApplicationMaster

进程来实现。ResourceManager

负责整个集群的资源管理和调度。ApplicationMaster负责应用程序相关的事务,比如任务调度、任务监控和容错等。3s1z3J8A73911dsp

YARN的作用Ambari(集群安装、部署、配置和管理工具)YARN(资源管理系统)HDFS(分布式文件系统)Hive(数仓工具)MapReduce(离线计算框架)Pig(数据分析工具)Spark(内存计算框架)Mahout(机器学习)Flink(流式计算框架)Sqoop(数据库迁移工具)Flume(日志采集工具)DataX(数据同步工具)HBase(分布式数据库)Zookeeper(协调

系统)Kafka

(消息

队列)节点管理器任务应用程序状态容器

管理器容器

Map任务客户端节点管理器r3sI2.38A73911dYARN的基本构架客户端资源管理器节点管理器客户端作业提交Map任务Reduce

任务Map任务Reduce任务容器容器容器容器资源

请求节点状态汇报本节点资源状况2

.

动4.汇报本节点资源状况汇报本节点

资源状况节点管理器应用程序

管理器3.节点管理器容器资源管理器容器rasI2_3J8A7591fdsp9YARN

的工作原理1.提交客户端资源管理器MapReduce

ON

YARN工作流程13s123J8A75911dsv

apunaE)10MapReduce

ON

YARN工作流程资源管理器节点管理器

节点管理器5|2MapReduce应用程序管理器容器6Map任务

容器6Map任务

容器6Reduce

任务容器13s123J8A75911dsP4.1av全局应用程序

管理器23

8577资源调度器客户端4YARN

性113s12_3J8A73911dspav3punaEun

018A759

YARN

的容错性ResourceManager的容错性保障ResourceManager存在单点故障,但是可以通过配置实现ResourceManager

的HA

(高可用);当主节点出现故障时,可以切换到备用节点继续对外提供服务。NodeManager

的容错性保障NodeManager失败之后,ResourceManager会将失败的任务通知对应的ApplicationMaster,

ApplicationMaster来决定如何去处理失败的任务。ApplicationMaster

的容错性保障ApplicationMaster

失败后,由

ResourceManager负责重启即可。其中,ApplicationMaster需要处理内部任务的容错问题。ResourceManager会保存已经运行的任务,重启后无须重新运行。YARN的

用3S1z_3J8A75911dV

3pun²2)Zookecper发送状态信息共享数据节点管理器(1)Zookeeper集群Zookeeper2资源管理器状态信息发送状态信息共享数据节点管理器(n)3s1Z3J8A73911dsYARN的高可用主备切换控制器资源管理器

(备用的)主备切换控制器资源管理器(活跃的)节点管理器(2)Zookeeper

nYARN

器113s12_3J8A73911dspTV

1punat)unpa013S1z3J8A75911d先进先出调度器1V

95ub3s¹z

3J8A73911d容量调度器AV

pun3e)n031Z

3J8A75911公平调度器utilizationqueue

B(fairshare)queueA(fairshare)time321job

3submittedjob

2

submittedjob1submitted

5unb9Thanks初识MapReduce113s12_3J8A73911dspTV

1punat)unpa

18A72911dMapReduce

概述MapReduce

是一个使用简单的软件框架,基于它写出来的应用程序能够运

行在由上千个商用机器组成的大型集群上,并以一种可靠容错式并行处理TB级别的数据集。MapReduce是一个并行程序的计算模型与方法·MapReduce是一个并行程序运行的软件框架·MapReduce是一个基于集群的高性能并行计算平台131123J8A75911dsp4.1av MapReduce

基本设计思想分而治之大数据计算任务任务划分子任务

子任务子任务结果合并计算结果子任务0大量数据记录/元素进行重复处理0对每个数据记录/元素做感兴趣的

处理、获取感兴趣的中间结果信息排序和整理中间结果以利后续处理

0收集整理中间结果产生最终结果输出MapReduce

基本设计思想抽象成模型MapReduce13s123J8A75911dsp4.1av30A75911dp9.1mvMapReduce

基本设计思想升到框架MapReduce提供统一计算框架的主要目标是实现自动并行化计算,为程序员隐藏系统层面的细节。计算任务的自动划分和调度。数据的自动化分布存储和划分。处理数据与计算任务的同步。结果数据的收集整理,如排序,合并,分区等。系统通信、负载均衡、计算性能优化。处理系统节点出错检测和失效恢复。适合PB级以上数据集的离线处理MapReduce

缺点不适合实时计算不适合流式计算不适合DAG计算MapReduce

优缺点MapReduce的优点MapReduce易于编程良好的扩展性高容错性7

118A7591tdspeMapReduce的编程模型113s12_3J8A73911dsv

apunaE)

1013SIz.318A7391tdsp4.1avMapReduce

分布式计算原理Map

阶段:(对任务分解)Reduce阶段:

(对任务汇总)Mapper4+5+66+15+24Mapper7+8+9Mapper1+2+34513s1z_318AT3911dsp4.1av

MapReduce编程模型海量存储数据数据划分Map任务Map任务Map任务

Map任务聚集和混洗Reduce任务

Reduce任务

Reduce任务计算结果72

3J8A75911dsp4

y深入剖析MapReduce编程模型背景分析HelloWorldHello

2World

1Hadoop

1HelloHadoop1Z

8A7591tdsp9v深入剖析MapReduce编程模型问题思路分析业务场景有大量的文件,每个文件里面存储的都是单词。我们的任务统计所有文件中每个单词出现的次数。解决思路先分别统计出每个文件中各个单词出现的次数,然后再累加不同文件中同一个单词出现次数。HelloWorldByeWorld分割<0,“HelloWorld”><12,“ByeWorld”>HelloHadoopByeHadoop分割<0,“HelloHadoop”><13,“Bye

Hadoop”>深入剖析MapReduce编程模型深入剖析MapReduce编程模型

数据分割输入数据TasIZ.3J8A7591dsP9

v分割结果

V978n深入剖析MapReduce

编程模型数据处理分割结果

Z

18A75911dsp9.1nv深入剖析MapReduce编程模型map

方法输出<Hello,1>

<World,1>

<Bye,1>

<World,1><Hello,1><Hadoop,1><Bye,1><Hadoop,1>Hadoop”>Hadoop”><0,“Hello<12,“Bye<0,“Hello<13,“ByeWorld”>World”>map()13s123J8A75911dsp9.1av

深入剖析MapReduce编程模型

ny

Uunsmap()

方法输出

排序结果

Combine输出<Bye,I>

<Hello,1>Map端

<World,1><World,I><Bye,I><Hadoop,1>Map

端排序

<Hadoop,1><Hello.1>深入剖析MapReduce编程模型数据局部合并<Hello,1>

<World,I>

<Bye,I><World,I><Hello,1><Hadoop,1><Bye,I><Hadoop,I><Bye,I><Hello,I>

<World,2><Bye,1><Hadoop,2>

<Hello,1>Combine过程>Combine过

程b

019x

dg

18A76911dspg_

1nv深入剖析MapReduce编程模型深入剖析MapReduce编程模型数据聚合Reduce排序<Bye,1><Hadoop,2><Hello,1>Combine

输出

排序结果<Bye,1>Reduce输出<Bye,2><Hadoop,2>

<Hello,2><World,2><Hadoop,list(2)><Hello,list(1,1)>

<World,list(2)><Hello,1><World,2><Bye,list(1,1)>reduce)bMapReduce

运行机制113s12_3J8A73911dsv

1punaE)unp

103摘贝job演源no共享文件系统

(HDFS)135I2318A73911dspa,tav剖析MapReduce作业运行机制节点管理器5b拉

起6初始化iob(

MRAppMaster进程节点管理器节点

7获取输入分片10.拉取job资源8.分配资源节点管理器9b.

拉起任务JMMYarnChild11.运行MapTask

ReduceTask节点管理器节点2.请求一个新应用ID4提交作业5a启动contaner

9xdsg(2U512)

agn

2资源管理器资源管理器节点MapReauce

序客户端节点1.运行job客户湍JMM9a启

containerJ00

对象7J8A7591作业失败与容错任务容错当applicationmaster被告知一个任务尝试失败后,它将重新调度该任务的执行。applicationmaster会试图避免在之前失败过的NodeManager上重新调度该任务。此外,如果一个任务失败数超过4次,该任务将不会再尝试执行。applicationmaster容错ap

温馨提示

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

评论

0/150

提交评论