大数据分析之Hadoop工具应用_第1页
大数据分析之Hadoop工具应用_第2页
大数据分析之Hadoop工具应用_第3页
大数据分析之Hadoop工具应用_第4页
大数据分析之Hadoop工具应用_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

大数据分析之Hadoop工具应用

——分布式文件系统(HDFS)、分布式数据库(Hbase)与分布式计算(MapReduce)什么是大数据银行互联网图书馆海量交易数据:企业内部的经营交易信息主要包括联机交易数据和联机分析数据,是结构化的、通过关系数据库迕行管理和访问的静态、历史数据。通过这些数据,我们能了解过去发生了什么。海量交互数据:源于Facebook、Twitter、LinkedIn及其他来源的社交媒体数据构成。它包括了呼叫详细记录CDR、设备和传感器信息、GPS和地理定位映射数据、通过管理文件传输ManageFileTransfer协议传送的海量图像文件、Web文本呾点击流数据、科孥信息、电子邮件等等。可以告诉我们未来会収生什么。海量归档数据:图书馆内部存储的大量的图书目录信息主要包括了图书数量信息和图书流动信息等等,包含了图书馆的所有重要信息。什么是大数据兵工行业的大数据在哪里?大数据类型与存储大数据类型非结构化数据结构化数据实时数据GIS数据大数据存储分布式文件系统关系型数据库集群分布式数据库GIS数据库集群存储、管理、访问可平滑扩展可冗余备份,保证高可靠性快速访问分发机制支持大量访问请求数据访问优化策略数据处理流程采集预处理检索分析展现共享存储大数据处理的技术关键分析技术:数据处理:自然语言处理技术;统计和分析:地域占比,文本情感分析,A/Btest,topN排行榜;数据挖掘:建模,聚类,分类,排名;模型预测:预测模型,机器学习,建模仿真。存储技术:结构化数据:海量数据查询、统计、更新等操作效率低非结构化数据:图片、视频、word、pdf、ppt等文件存储,不利于检索,存储和查询半结构化数据:转换为结构化数据或者按照非结构化存储。大数据技术:数据采集:ETL工具;数据存取:关系数据库,NoSQL,NewSQL,等基础架构支持:云存储,分布式文件系统等;计算结果展现:云计算,标签云,关系图等。解决方案:Hadoop(MapReduce技术)、MongoDB、流计算(twitter的strom和yahoo!的S4)Hadoop项目介绍Hadoop最先是由Apache公司在2005年引入的,起源于google开发的MapReduce和GoogleFileSystem(GFS)项目。Google云计算MapReduceBigTableGFSChubbyGFS→HDFSBigTable→HbaseMapReduce→Hadoop分布式文件系统——HDFS什么是分布式文件系统?分布式文件系统是指文件系统管理的物理存储资源不一定直接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统设计基于客户机/服务器模式,一个典型的网络可能包括多个供用户访问的服务器。用户可以在任意一台客户机上访问其他机器的文件系统。为什么需要分布式文件系统?高扩展能力:HDFS采用元数据中心化管理,然后通过客户端暂存数据分布减小元数据的访问压力;高可用性:一是整个文件系统的可用性,二是数据的完整和一致性。数据完整性通过文件的镜像和文件自动修复来解决;弹性存储:可以根据业务需要灵活地增加或缩减数据存储以及增删存储池中的资源,而不需要中断系统运行;分布式文件系统——HDFSHDFS的设计HDFS为了做到可靠性(reliability)创建了多份数据块(datablocks)的复制(replicas),并将它们放置在服务器群的计算节点中(computenodes)。分布式文件系统——HDFSHDFS应用场景超大文件

流式数据访问一次写入,多次读取传输时间与寻址时间商用硬件适量的文件数为把“计算”移动到“数据”提供基础和便利适用►低延时的数据访问►大量小文件►多用户写入,任意修改文件不适用分布式文件系统——HDFS块(BLOCK)的概念在传统的块存储介质中,块是读写的最小数据单位(扇区)传统文件系统基于存储块进行操作●为了节省文件分配表空间,会对物理存储块进行整合,一般大小为4096字节HDFS也使用了块的概念,但是默认大小设为64M字节●可针对每个文件配置,由客户端指定●每个块有一个自己的全局IDHDFS将一个文件分为一个或数个块来存储●每个块是一个独立的存储单位●以块为单位在集群服务器上分配存储使用块的好处当一个文件大于集群中任意一个磁盘的时候,文件系统可以充分利用集群中所有的磁盘管理块使底层的存储子系统相对简单块更加适合备份,从而为容错和高可用性的实现带来方便块的冗余备份每个块在集群上会存储多份(replica)●默认复制份数为3●可针对每个文件配置,由客户端指定●可动态修改某个块的所有备份都是同一个ID●系统无需记录“哪些块其实是同一份数据”系统可以根据机架的配置自动分配备份位置●两份在一个机架的两台机器上●另一份在集群的另一个机架的某台机器上●此策略是性能与冗余性的平衡●机架信息需要手工配置分布式文件系统——HDFSHDFS的元数据元数据包括文件系统目录树信息文件名,目录名文件和目录的从属关系文件和目录的大小,创建及最后访问时间权限文件和块的对应关系文件由哪些块组成块的存放位置机器名,块IDHDFS对元数据和实际数据采取分别存储的方法元数据存储在指定的服务器上(NameNode)实际数据储存在集群的其他机器的本地文件系统中(DataNode)分布式文件系统——HDFSHDFS的高可用性Client1Client2DataNode节点NameNode1NameNode2NFS服务器正常运行状态单点失效状态分布式文件系统——HDFSHDFS的高可用性NameNode挂了怎么办?系统采用双NameNode节点分布管理设计方案,支持分布式的元数据服务器,支持元数据自动日志功能,实现用户数据和元数据的备份和自动恢复,当一台服务器发生宕机时,其管理功能可以有另外的服务器接管,系统可以正常运行,对外提供服务。NameNodeNameNode是用来管理文件系统命名空间的组件

一个HDFS集群只有一台active的NameNode一个HDFS集群只有一个命名空间,一个根目录NameNode上存放了HDFS的元数据元数据保存在NameNode的内存当中,以便快速查询1G内存大致可以存放1,000,000个块对应的元数据信息按缺省每块64M计算,大致对应64T实际数据分布式文件系统——HDFSHDFS的高可用性Datanode•一个数据块在DataNode以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。•DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息。•心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟没有收到某个DataNode的心跳,则认为该节点不可用。•集群运行中可以安全加入和退出一些机器。DataNode中的磁盘挂了怎么办?DataNode正常服务;自动尽快通NameNode坏掉的磁盘上的数据。DataNode所在机器挂了怎么办?datanode每3秒钟向namenode发送心跳,如果10分钟datanode没有向namenode发送心跳,则namenode认为该datanode已经dead,namenode将取出该datanode上对应的block,对其进行复制。增加DataNode节点后?系统平台增加新节点之后,系统自动在所有节点之间均衡数据。系统后台根据忙闲程度,自动发起,占用很少系统资源,无需人工干预,实现数据均衡分布。分布式数据库——HBaseHBase概述HBase是一个分布式的、面向列的开源数据库,该技术来源于Changetal所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(FileSystem)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。HBase技术特点1、大表:一个表可以有上亿行,上百万列2、面向列:面向列(族)的存储和权限控制,列(族)独立检索。3、稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。分布式数据库——HBaseHBase表存储结构示例RowKey:行键,表的主键,表中的记录按照RowKey字典排序;Timestamp:时间戳,每次数据操作对应的时间记录,可以看做是数据的版本号;ColumnFamily:列簇,表在水平方向有一个或者多个ColumnFamily组成,一个ColumnFamily可以由多个Column组成,即ColumnFamily支持动态扩展,无需预先定义Column的数量及类型,所有Column均以二进制格式存储,用户需要自行进行型转换。分布式数据库——HBaseHbase物理部署Hbase逻辑架构分布式数据库——HBaseClient:

包含访问hbase的接口,client维护着一些cache来加快对hbase的

访问,比如region的位置信息。Zookeeper:1.保证任何时候,集群中只有一个master; 2.存贮所有Region的寻址入口; 3.实时监控RegionServer的状态,将Regionserver的上线和下线信

息实时通知给Master; 4.存储Hbase的schema,包括有哪些table,每个table有哪些 columnfamily。Master:1.为Regionserver分配region; 2.负责regionserver的负载均衡; 3.发现失效的regionserver并重新分配其上的region; 4.HDFS上的垃圾文件回收; 5.处理schema更新请求。RegionServer:1.Regionserver维护Master分配给它的region,处理对这些region的IO 请求; 2.Regionserver负责切分在运行过程中变得过大的region。Hbase物理部署分布式数据库——HBaseHbase物理存储HTable:在行方向上分为多个HRegion。当表随着记录的不断增加而变大后,会逐渐分裂成多份splits,称为region,一个region由[startkey,endkey]表示,不同的region会被Master分配给相应的RegionServer进行管理。HRegion:Region按大小分隔,达到阈值,HRegion自动等分,后台会一直进行split和sort操作,以达到region的等分。HTableHRegion分割分布式数据库——HBaseHRegion分布Hbase物理存储Region是分布式存储的最小单元分布式数据库——HBaseHbase物理存储storefile就是列簇,一个列簇整合成一个storefile文件。所有数据进来先在memstor进行缓冲,达到一定的阀值就刷新一次形成一个storefile。分布式数据库——HBaseHFile:Hbase中KeyValue数据存储格式,是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile。分布式数据库——HBaseHLogFile:HBase中WAL(WriteAheadLog)的存储格式,物理上是Hadoop的SequenceFile。WAL类似mysql中的binlog,用来做灾难恢复作用,HLog记录数据的所有变更,一旦数据修改,就可以从log中进行恢复。每个RegionServer维护一个Hlog,而不是每个Region一个。这样不同region(来自不同table)的日志会混在一起,这样做的目的是不断追加单个文件相对于同时写多个文件而言,可以减少磁盘寻址次数,因此可以提高对table的写性能。带来的麻烦是,如果一台regionserver下线,为了恢复其上的region,需要将regionserver上的log进行拆分,然后分发到其它regionserver上进行恢复。SequenceFile的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,除了table和region名字外,同时还包括sequencenumber和timestamp,timetamp是“写入时间”,sequencenumber的起始值为0,或者是最近一次存入文件系统中sequencenumber。HLogSequeceFile的Value是HBase的KeyValue对象,即对应HFile中的KeyValue。分布式计算——MapReduce大数据处理计算问题简单,但求解困难待处理的数据量巨大,只有分布在成百上千个节点上并行计算才能在可接受的时间内完成如何进行并行分布式计算?如何分发待处理数据?如何处理分布式计算中的错误?MapReduce特性自动实现分布式并行计算容错提供状态监控工具模型抽象简洁,程序员易用分布式计算——MapReduceHadoop上的MapReducejob:是客户端程序想要完成的一系列工作的集合。包括输入数据,MapReduce程序和配置信息。用户只要在客户端提交工作,MapReduce会自动分配任务给集群中的计算节点。task:Hadoop将job分解为tasks有两种类型的task:maptask和reducetask。jobtracker和tasktracker:

用来控制job执行的;tasktracker运行task,并向jobtracker报告进度信息;jobtracker记录下每一个job的进度信息,如果一个task失败,jobtracker会将其重新调度到另外的tasktracker上。MapReduce特性分布式计算——Ma

温馨提示

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

评论

0/150

提交评论