大数据平台介绍_第1页
大数据平台介绍_第2页
大数据平台介绍_第3页
大数据平台介绍_第4页
大数据平台介绍_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

大数据平台介绍大数据二零一五年七月2021/6/2012目录Hadoop大数据生态圈介绍大数据应用介绍3Cloudera

Manager介绍Hadoop大数据生态圈2021/6/20HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。hive是基于Hadoop的大型数据仓库(Data

Warehouse),其目标是简化Hadoop上的数据聚集、即席查询及大数据集的分析等操作;HBase是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库,分布式存储系统

Zookeeper((分分布布式式协协作作服服务务))它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户解决分布式环境下的数据管理问题:统一命名,状态同步,集群管理,配置同步等。7、、Sqoop((数数据据同同步步工工具具))Sqoop是SQL-to-Hadoop的缩写,主要用于传统数据库和Hadoop之前传输数据。数据的导入和导出本质上是Mapreduce程序,充分利用了MR的并行化和容错性。8、、Pig((基基于于Hadoop的的数数据据流流系系统统))Pig是Yahoo!提出的类似于Hive的大数据集分析平台,它提供的类SQL语言叫PigLatin,一种基于操作符的数据流式的接口,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算9、、Mahout((数数据据挖挖掘掘算算法法库库))Mahout的主要目标是创建一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout现在已经包含了聚类、分类、推荐引擎(协同过滤)和频繁集挖掘等广泛使用的数据挖掘方法。除了算法,Mahout还包含数据的输入/输出工具、与其他存储系统(如数据库、MongoDB

或Cassandra)集成等数据挖掘支持架构。

Mahout

是一个很强大的数据挖掘工具,Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的数据量和处理性能。10、、Flume((日日志志收收集集工工具具))Cloudera开源的日志收集系统,具有分布式、高可靠、高容错、易于定制和扩展的特点。它将数据从产生、传输、处理并最终写入目标的路径的过程抽象为数据流,在具体的数据流中,数据源支持在Flume中定制数据发送方,从而支持收集各种不同协议数据。同时,Flume数据流提供对日志数据进行简单处理的能力,如过滤、格式转换

等。此外,Flume还具有能够将日志写往各种数据目标(可定制)的能力。总的来说,Flume是一个可扩展、适合复杂环境的海量日志收集系统。Hadoop生态圈Hadoop简介

Hadoop一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。简单地说来,

Hadoop是一个可以更容易开发和运行处理大规模数据的软

件平台。

Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。Hadoop能解决哪些问题海量数据需要及时分析和处理。海量数据需要深入分析和挖掘。数据需要长期保存问题:磁盘IO成为一种瓶颈,而非CPU资源。网络带宽是一种稀缺资源硬件故障成为影响稳定的一大因素HDFS适应条件HDFS:为以流式数据访问模式存储超大文件而设计的文件系统。流式数据访问指的是几百MB,几百GB,几百TB,甚至几百PB流式数据访问HDFS建立的思想是:一次写入、多次读取模式是最高效的。商用硬件hadoop不需要运行在昂贵并且高可靠的硬件上。HDFS不适应条件低延迟数据访问HDFS是为了达到高数据吞吐量而优化的,这是以延迟为代价的,对于低延迟访问,可以用Hbase(hadoop的子项目)。大量的小文件多用户写入,任意修改NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。HDFS基本单元

Block(块):HDFS基本储存单元,是个逻辑单元。一个文件有可能包含多个块,一个块有可以包含多个文件,由文件的大小和块大小的参数决定。dfs.block.size参数。Hdfs中Block的大小,默认64MB,如果设置大,就会有可能导致Map运行慢,设置小,有可能导致Map个数多,所有一定要设置适当。(目前主流机器建议设置为128M)

设置一个Block64MB,如果上传文件小于该值,仍然会占用一个Block的命名空间(NameNode

metadata),但是物理存储上不会占用64MB的空间

Block大小和副本数由Client端上传文件到HDFS时设置,其中副本数可以变更,Block是不可以再上传后变更的NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。HDFS处理机制

Client:切分文件;访问HDFS;与NameNode交互,获取文件位置信息;与DataNode交互,读取和写入数据。

NameNode:Master节点,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理客户端请求。

DataNode:Slave节点,存储实际的数据,汇报存储信息给

NameNode。Secondary

NameNode:辅助NameNode,分担其工作量;定期合并fsimage和fsedits,推送给NameNode;紧急情况下,可辅助恢复NameNode,但Secondary

NameNode并非NameNode的热备NameNode主要功能提供名称查询服务DataNode通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。HDFS文件读取NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。MapReduce简介简介

MapReduce是一个高性能的批处理分布式计算框架,用于对海量数据进行并行分析和处理。MapReduce将分析任务分为大量的并行Map任务和Reduce任务两类。

与传统数据仓库和分析技术相比,MapReduce适合处理各种类型的数据,包括结构化、半结构化和非结构化数据。结构化、半结构化、非结构化数据

结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)

不方便用数据库二维逻辑表来表现的数据即称为非结构化数据(包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信

息等等)

所谓半结构化数据,就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。MapReduce简介适合处理的任务适用于离线批处理任务

是以“行”为处理单位的,无法回溯已处理过的“行”,故每行都必须是一个独立的语义单元,行与行之间不能有语义上的关联。

相对于传统的关系型数据库管理系统,MapReduce计算模型更适合于处理半结构化或无结构话的数据。不适合处理的任务不适合一般web应用不适合实时响应的任务不适合小数据集的处理不适合需要大量临时空间的任务不适合CPU密集且具有许多交叉调用的任务NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。MapReduce工作原理MapReduce执行流程MapReduce角色Client:作业提交发起者。

JobTracker:初始化作业,分配作业,与TaskTracker通信,协调整个作业。

TaskTracker:保持JobTracker通信,在分配的数据片段上执行

MapReduce任务。任务的分配

TaskTracker和JobTracker之间的通信与任务的分配是通过心跳机制完成的。

TaskTracker会主动向JobTracker询问是否有作业要做,如果自己可以做,那么就会申请到作业任务,这个任务可以使Map也可能是Reduce任务。NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。MapReduce工作原理任务的执行申请到任务后,TaskTracker会做如下事情:拷贝代码到本地拷贝任务的信息到本地启动JVM运行任务状态与任务的更新

任务在运行过程中,首先会将自己的状态汇报给TaskTracker,然后由

TaskTracker汇总告之JobTracker。作业的完成

JobTracker是在接受到最后一个任务运行完成后,才会将任务标志为成功。此时会做删除中间结果等善后处理工作。MapReduce工作原理NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。Hadoop实例根据URL的顶级域名进行分类统计输入、输出格式:文件源文件格式如下:–统计目标:NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。Hadoop实例1.编写MapReduce函数,客户端作业–Map函数NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。Hadoop实例–Reduce函数–Job设置NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。Hadoop实例编译、打包成jar文件略3.源文件提交到HDFS文件系统文件从本地提交到HDFS文件系统[put命令]–查看HDFS文件系统中已提交的文件NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。Hadoop实例使用Hadoop命令提交作业–提交作业–查看作业http://localhost:50030NameNode主要功能提供名称查询服务通过向NN发送心跳保持与其联系(3秒一次),如果NN

10分钟没有收到DN的心跳,则认为其已经lost,并copy其上的block到其它DN每个集群都有一个,不接收或记录任何实时数据变化,但与NN进行通信,定期保存HDFS元数据快照。如NN发生问题,及时作为备用NN使用,将宕机时间和数据的损失降低到最小。Hadoop实例查看执行结果–查看执行结果生成的文件查看HDFS文件系统中的结果HDFS文件拷贝到本地,查看结果Hive简介Hive是什么hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快

速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适

合数据仓库的统计分析。Hive是建立在Hadoop上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hive定义了简单的类SQL查询语言,称为HQL,它允许熟悉SQL的用户查询数据。同时,这个语言也允许熟悉MapReduce开发者的开发自定义的mapper和reducer来处理内建的mapper和reducer无法完成的复杂的分析工作。Hive实例创建托管表–1.在Hive命令行执行建表语句–2.查看元数据库中的表信息、字段信息[sds、columns_v2]Hive实例–3.从本地向net_addr_1表中导入数据–4.查看导入的数据Hive实例根据URL的顶级域名进行分类统计-Hive实现1.源数据入表[略],使用已生成的net_addr_12.源数据加工转换,生成中间表INSERT

OVERWRITE

TABLE

net_addr_3

selectnet_id,regexp_replace(net_url,"(.+\\.)",

"")

from

net_addr_1;–3.根据中间表数据进行统计Hbase简介

HBase是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。利用HBase技术可在廉价PC

Server上搭建起大规模结构化存储集群HFile,HBase中KeyValue数据的存储格式HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master

Election机制保证总有一个Master运行

HStore存储是HBase存储的核心了,其中由两部分组成,一部分是MemStore,一部分是StoreFiles。MemStore是Sorted

MemoryBuffer,用户写入的数据首先会放入MemStore,当MemStore满了以后会Flush成一个StoreFile(底层实现是HFile)但是在分布式系统环境中,无法避免系统出错或者宕机,因此一旦HRegionServer意外退出,MemStore中的内存数据将会丢失,这就需要引入HLog了。Hbase架构Hbase实例1、构建Hbase表hbase_testhbase>

create

"hbase_test",

"id01"2、构建hive外表hive_test,并对应hbase_test表CREATE

EXTERNAL

TABLE

hive_test

(id01

STRING)STORED

BY

"org.apache.hadoop.hive.hbase.HBaseStorageHandler"WITH

SERDEPROPERTIES

("hbase.columns.mapping"

=

":key,id01")TBLPROPERTIES(""

=

"hbase_test");3、数据通过hive_test导入到hbase_test表中INSERT

OVERWRITE

TABLE

hive_test

SELECT

id01

FROM

hive_date;Hbase实例大数据应用介绍2021/6/20用户上网行为分析系统用户行为分析系统数据处理流程图ElasticSearch是一个基于Lucene的搜索服务器Kibana

是一个为ElasticSearch

提供日志分析的Web

ui工具,可使用它对日志进行高效的搜索、可视化、分析等各种操作Flume是Cloudera提供的一个分布式、可靠、和高可用的海量日志采集、聚合和传输的日志收集系统,支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力由于采集数据的速度和数据处理的速度不一定同步,因此添加一个消息中间件来作为缓冲,选用apache的kafka,kafka是一种高吞吐量的分布式发布订阅消息系统,kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。Kafka

是一个非常通用的系统。你可以有许多生产者和很多的消费者共享多个主题Topics。相比之下,Flume是一个专用工具被设计为旨在往HDFS,HBase发送数据。它对HDFS有特殊的优化,并且集成了Hadoop的安全特性。所以,Cloudera

建议如果数据被多个系统消费的话,使用kafka;如果数据被设计给Hadoop使用,使用Flume。adoop是磁盘级计算,进行计算时,数据在磁盘上,需要读写磁盘;Storm是内存级计算,数据直接通过网络导入内存。读写内存比读写磁盘速度快n个数量级。根据Harvard

CS61课件,磁盘访问延迟约为内存访问延迟的75000倍。所以Storm更快

storm的网络直传、内存计算,其时延必然比hadoop的通过hdfs传输低得多;当计算模型比较适合流式时,storm的流式处理,省去了批处理的收集数据的时间;因为storm是服务型的作业,也省去了作业调度的时延。所以从时延上来看,storm要快于Hadoop从原理角度来讲:Hadoop

M/R基于HDFS,需要切分输入数据、产生中间数据文件、排序、数据压缩、多份复制等,效率较低。Storm基于ZeroMQ这个高性能的消息通讯库,不持久化数据。说一个典型的场景,几千个日志生产方产生日志文件,需要进行一些ETL操作存入一个数据库。假设利用hadoop,则需要先存入hdfs,按每一分钟切一个文件的粒度来算(这个粒度已经极端的细了,再小的话hdfs上会一堆小文件),hadoop开始计算时,1分钟已经过去了,然后再开始调度任务又花了一分钟,然后作业运行起来,假设机器特别多,几钞钟就算完了,然后写数据库假设也花了很少的时间,这样,从数据产生到最后可以使用已经过去了至少两分多钟。而流式计算则是数据产生时,则有一个程序去一直监控日志的产生,产生一行就通过一个传输系统发给流式计算系统,然后流式计算系统直接处理,处理完之后直接写入数据库,每条数据从产生到写入数据库,在资源充足时可以在毫秒级别完成Storm的主要特点如下:1.简单的编程模型。类似于MapReduce降低了并行批处理复杂性,Storm降低了进行实时处理的复杂

性。2.可以使用各种编程语言。你可以在Storm之上使用各种编程语言。默认支持Clojure、Java、Ruby和Python。要增加对其他语言的支持,只需实现一个简单的Storm通信协议即可。3.容错性。Storm会管理工作进程和节点的故障。4.水平扩展。计算是在多个线程、进程和服务器之间并行进行的。5.可靠的消息处理。Storm保证每个消息至少能得到一次完整处理。任务失败

时,它会负责从消息源重试消息。6.快速。系统的设计保证了消息能得到快速的处理,使用ØMQ作为其底层消息队列。7.本地模式。Storm有一个“本地模式”,可以在处理过程中完全模拟Storm集群。这让你可以快速进行开发和单元测试。唯品会日志处理框架简介唯品会日志处理框架简介全国重点车辆联网联控平台Cloudera

Manager介绍2021/6/20Cloudera

Manager介绍

CDH(Cloudera"s

Distribution,including

Apache

Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache

Hadoop构建,并集成了很多补丁,可直接用于生产环境。

Cloudera

Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Hbase、Spark等服务的安装配置管理做了极大简化。Cloudera

Manager有四大功能管理监控诊断集成Cloudera

Manager介绍Cloudera

Flume

Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;

Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。Cloudera

Manager介绍Cloudera

Impala

Cloudera

Impala对你存储在Apache

Hadoop在HDFS,HBase的数据提

供直接查询互动的

温馨提示

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

评论

0/150

提交评论