您好,欢迎访问三七文档
大数据平台介绍大数据二零一五年七月12目录Hadoop大数据生态圈介绍大数据应用介绍3ClouderaManager介绍Hadoop大数据生态圈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的子项目)。•大量的小文件•多用户写入,任意修改HDFS基本单元•Block(块):HDFS基本储存单元,是个逻辑单元。一个文件有可能包含多个块,一个块有可以包含多个文件,由文件的大小和块大小的参数决定。dfs.block.size参数。Hdfs中Block的大小,默认64MB,如果设置大,就会有可能导致Map运行慢,设置小,有可能导致Map个数多,所有一定要设置适当。(目前主流机器建议设置为128M)•设置一个Block64MB,如果上传文件小于该值,仍然会占用一个Block的命名空间(NameNodemetadata),但是物理存储上不会占用64MB的空间•Block大小和副本数由Client端上传文件到HDFS时设置,其中副本数可以变更,Block是不可以再上传后变更的HDFS处理机制•Client:切分文件;访问HDFS;与NameNode交互,获取文件位置信息;与DataNode交互,读取和写入数据。•NameNode:Master节点,管理HDFS的名称空间和数据块映射信息,配置副本策略,处理客户端请求。•DataNode:Slave节点,存储实际的数据,汇报存储信息给NameNode。•SecondaryNameNode:辅助NameNode,分担其工作量;定期合并fsimage和fsedits,推送给NameNode;紧急情况下,可辅助恢复NameNode,但SecondaryNameNode并非NameNode的热备HDFS文件读取MapReduce简介简介–MapReduce是一个高性能的批处理分布式计算框架,用于对海量数据进行并行分析和处理。–MapReduce将分析任务分为大量的并行Map任务和Reduce任务两类。–与传统数据仓库和分析技术相比,MapReduce适合处理各种类型的数据,包括结构化、半结构化和非结构化数据。结构化、半结构化、非结构化数据–结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据)–不方便用数据库二维逻辑表来表现的数据即称为非结构化数据(包括所有格式的办公文档、文本、图片、XML、HTML、各类报表、图像和音频/视频信息等等)–所谓半结构化数据,就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,HTML文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。MapReduce简介适合处理的任务–适用于离线批处理任务–是以“行”为处理单位的,无法回溯已处理过的“行”,故每行都必须是一个独立的语义单元,行与行之间不能有语义上的关联。–相对于传统的关系型数据库管理系统,MapReduce计算模型更适合于处理半结构化或无结构话的数据。不适合处理的任务–不适合一般web应用–不适合实时响应的任务–不适合小数据集的处理–不适合需要大量临时空间的任务–不适合CPU密集且具有许多交叉调用的任务MapReduce工作原理MapReduce执行流程–MapReduce角色•Client:作业提交发起者。•JobTracker:初始化作业,分配作业,与TaskTracker通信,协调整个作业。•TaskTracker:保持JobTracker通信,在分配的数据片段上执行MapReduce任务。–任务的分配•TaskTracker和JobTracker之间的通信与任务的分配是通过心跳机制完成的。•TaskTracker会主动向JobTracker询问是否有作业要做,如果自己可以做,那么就会申请到作业任务,这个任务可以使Map也可能是Reduce任务。MapReduce工作原理–任务的执行•申请到任务后,TaskTracker会做如下事情:•拷贝代码到本地•拷贝任务的信息到本地•启动JVM运行任务–状态与任务的更新•任务在运行过程中,首先会将自己的状态汇报给TaskTracker,然后由TaskTracker汇总告之JobTracker。–作业的完成•JobTracker是在接受到最后一个任务运行完成后,才会将任务标志为成功。•此时会做删除中间结果等善后处理工作。MapReduce工作原理MapReduceJobClient1JobTrackerTaskTrackerJVM(Child)DataDataDataData23456输出结果TaskTrackerHadoop实例根据URL的顶级域名进行分类统计–输入、输出格式:文件–源文件格式如下:–统计目标:Hadoop实例1.编写MapReduce函数,客户端作业–Map函数Hadoop实例–Reduce函数–Job设置Hadoop实例编译、打包成jar文件–略3.源文件提交到HDFS文件系统–文件从本地提交到HDFS文件系统[put命令]–查看HDFS文件系统中已提交的文件Hadoop实例使用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_1–2.源数据加工转换,生成中间表INSERTOVERWRITETABLEnet_addr_3selectnet_id,regexp_replace(net_url,'(.+\\.)','')fromnet_addr_1;–3.根据中间表数据进行统计Hbase简介HBase是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,HBase采用了BigTable的数据模型:增强的稀疏排序映射表(Key/Value),其中,键由行关键字、列关键字和时间戳构成。HBase提供了对大规模数据的随机、实时读写访问,同时,HBase中保存的数据可以使用MapReduce来处理,它将数据存储和并行计算完美地结合在一起。利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群Hbase架构Hbase实例1、构建Hbase表hbase_testhbasecreate'hbase_test','id01'2、构建hive外表hive_test,并对应hbase_test表CREATEEXTERNALTABLEhive_test(id01STRING)STOREDBY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITHSERDEPROPERTIES(hbase.columns.mapping=:key,id01)TBLPROPERTIES(hbase.table.name=hbase_test);3、数据通过hive_test导入到hbase_test表中INSERTOVERWRITETABLEhive_testSELECTid01FROMhive_date;Hbase实例大数据应用介绍用户上网行为分析系统用户行为分析系统数据处理流程图结束开始gprs原始日志数据清洗删除无用数据项清洗后的数据打标签对日志进行分类打好标签数据统计分析HiveSQL统计经分FTPHDFS入Hive报表结果数据Hive入库处理统计结果入Oracle报表结果数据Oracle界面展示10+亿条,200+GZIP格式非结构化数据10+亿条,400+G文本格式非结构化数据10+亿条,120+G文本格式结构化数据100+G文本格式结构化数据?二进制格式结构化数据系统数据处理流程示意图唯品会日志处理框架简介唯品会日志处理框架简介全国重点车辆联网联控平台省平台运政系统电子运单系统包车系统公安、安监等系统货运平台交换共享平台Socket交换服务池So接口业务处理服务池so接口缓存服务池Topic订阅分发写库服务池负载均衡数据及应用展示WEB业务服务器Memc缓存服务器数据库服务器写库服务器应用服务平台Hadoop服务器集群Zookeeper服务器集群Hive服务器集群Hbase服务器集群省平台Socket省平台Socket省平台Socket大数据平台数据管理服务器App服务器短信服务器微信服务器GAS地理分析服务信息服务平台接驳平台ClouderaManager介绍ClouderaManager介绍•CDH(Cloudera'sDistribution,includingApacheHadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的ApacheHadoop构建,并集成了很多补丁,可直接用于生产环境。•ClouderaManager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Hbase、Spark等服务的安装配置管理做了极大简化。•ClouderaManager有四大功能(1)管理(2)监控(3)诊断(4)集成ClouderaManager介绍ClouderaFlume•Flume是Cloudera提供的日志收集系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;•Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,
本文标题:大数据平台介绍
链接地址:https://www.777doc.com/doc-3603858 .html