nosql数据库应用基础hbasev1p_第1页
nosql数据库应用基础hbasev1p_第2页
nosql数据库应用基础hbasev1p_第3页
nosql数据库应用基础hbasev1p_第4页
nosql数据库应用基础hbasev1p_第5页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

1、Inspur Hadoop在国内奇虎Hadoop集群并进管家,使用CDN技术将用户请求引到最京东:、分析日志、数Inspur Hadoop在国内奇虎Hadoop集群并进管家,使用CDN技术将用户请求引到最京东:、分析日志、数据挖掘和机器学习(主要日志,通过协调过滤算法为客系统类公司邮件过:云计,实时分某项目:网与关联系统,使用Hbase实某学校:学生上网与社会行为分析,使用和阿里都是数据2012Inspur Inspur Hadoop1)作者:Doug -Inspur Hadoop1)作者:Doug -2012InspurInspur Hadoop生态系统介Inspur Hadoop生态系统介

2、1)hadoopdistributefile system分布式文件系编程模型,主要用来做数据的最大化利用2012InspurInspur HBaseHadoop2012InspurInspur HBaseHadoop2012InspurInspur 2012InspurInspur 2012InspurInspur Hadoop2012InspurInspur Hadoop2012InspurInspur Hadoop大数体123452012Inspur处理机Inspur Hadoop大数体123452012Inspur处理机制、6、UUQKKVKX 模块组件、*32、*2、) TZ 6/工

3、作流程、6/、模块组件、架构组件、7、元数据管理、Inspur 2012Inspur用体系最底层的一个模块,为各子项目提供各种工具,如:配Avro是doug cutting主持的RPC项目,有点类似 的protobufInspur 2012Inspur用体系最底层的一个模块,为各子项目提供各种工具,如:配Avro是doug cutting主持的RPC项目,有点类似 的protobuf和 的 基于Hadoop Distributed File System,是一个开源的,基于列hive是基于hadoop分布式计上的提供data warehouse的sql功能的一Zookeeper是 的Chubb

4、y一个开源的实现。它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置 、名字服务、分布式同步、组Inspur 简。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。 硬件上。而且它提供高传输率(highthroughput)有着超大数据集(largeInspur 简。Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。 硬件上。而且它提供高传输率(highthroughput)有着超大数据集(largedataset)的应用程序。HDFS放宽了IX(streamin

5、gs) 4 可靠性(Reliable):hadoop能自动地2012InspurInspur 流处理框S4(SimpleScalableStreamingSystem)是,Inspur 流处理框S4(SimpleScalableStreamingSystem)是,但提供了DeveloperEdition,开发语言为Java。 用2012InspurInspur 流处理框Esper& Inspur 流处理框Esper& 为NEsper。Esper&NEsper可以方便开发者快速开发部署处理大容量消息和事件的应用系 2012InspurInspur HDFS2012InspurInspur HDF

6、S2012InspurInspur HDFS设计原文件以块(block)方每个块带下远比多数文件Inspur HDFS设计原文件以块(block)方每个块带下远比多数文件系统来的大(预通过副本机制提高可靠度吞吐每个区块至少分到三台DataNode(NameNode)来协元数单客户端对文件没有缓存机2012InspurInspur HDFS系统结2012InspurInspur HDFS系统结2012InspurInspur 文件owership和Block保存在哪个DataNode(由DataNode启动时上报s到磁盘文件名为Inspur 文件owership和Block保存在哪个DataNo

7、de(由DataNode启动时上报s到磁盘文件名为Block的位置信息不会保存到2012Inspur块2012Inspur块2012InspurInspur 保存启动DN线程的时候会向Inspur 保存启动DN线程的时候会向NN汇报block信2012InspurInspur Block的副本放置策2012InspurInspur Block的副本放置策2012InspurInspur 再说Inspur 再说2012InspurInspur 数据损坏(corruptioncInspur 数据损坏(corruptionc2012InspurInspur HDFSrreadw:writex:exe

8、cute,权限xInspur HDFSrreadw:writex:execute,权限x2012InspurInspur HDFS文2012InspurInspur HDFS文2012InspurInspur HDFS2012InspurInspur HDFS2012InspurInspur HDFS?2012Inspur HDFS?2012InspurInspur HDFS结2012InspurInspur HDFS结2012InspurInspur MapReduce2012InspurInspur MapReduce2012InspurInspur MapReduce一行行读文件,程序转

9、化为中间MynameInspur MapReduce一行行读文件,程序转化为中间Mynameisliugang-My1,name1,is1,liu1,gangWhatisyournameWhat1is1your1name1 name1,name1-name2;2012InspurInspur MapReduce2012InspurInspur MapReduce2012InspurInspur JobTracker(JT)和TaskTracker(TT2012InspurInspur JobTracker(JT)和TaskTracker(TT2012InspurInspur 再论JobTrac

10、ker(JT)和2012InspurInspur 再论JobTracker(JT)和2012InspurInspur 关于的哲2012InspurInspur 关于的哲2012InspurInspur 打与2012InspurInputInspur 打与2012InspurInputInspur 统计单词2012Inspurweathertoday weather is goodthisgood man is Inspur 统计单词2012Inspurweathertoday weather is goodthisgood man is good today the this man man

11、the This isagoodman this guy is a good man is guyis is is is isgoodguy todayis good good a is goodgood good good good good the weather is good aInspur 流量计2012InspurInspur 流量计2012InspurInspur 趋势分2012InspurInspur 趋势分2012InspurInspur 用2012InspurInspur 用2012InspurHbase2012InspurHbase2012InspurHadoopHado

12、opDatadatadatadatadata Datadatadatadatadata DatadatadatadatadataDatadatadatadata Datadatadatadata DataHadoopHadoopDatadatadatadatadata Datadatadatadatadata DatadatadatadatadataDatadatadatadata Datadatadatadata Datadatadatadata Datadatadatadata Datadatadatadata Datadatadatadata Datadatadatadata Datad

13、atadatadata DatadatadatadataDatadatadatadatadata Datadatadatadatadata DatadatadatadatadataDFSBlockDatadatadatadatadata Datadatadatadatadata DatadatadatadatadataDatadatadatadatadata Datadatadatadatadata DatadatadatadatadataDFSBlockDFSBlockDFSBlock2012InspurDFSBlockDFSBlockDFSBlockDFSBlockDFSBlockInsp

14、ur 2012InspurInspur 2012InspurInspur 作业执行流Inspur 作业执行流2012InspurInspur WebLogCollectionDataWarehousinga OracleInspur WebLogCollectionDataWarehousinga Oracle2012InspurInspur 简HBase据利用HDFS2012InspurInspur 简HBase据利用HDFS2012InspurInspur 简HBase中表的特大:一个表可以有上亿行,上百万列(变慢2012Inspur 简HBase中表的特大:一个表可以有上亿行,上百万列(

15、变慢2012InspurInspur 特同一行数据的读写只在同一台Region以及Master的Inspur 特同一行数据的读写只在同一台Region以及Master的只用增加RegionServer2012InspurInspur 特ColumnOriented )Inspur 特ColumnOriented ) rowKey(ASC)+-2012InspurInspur 特仅支持三种查询方式key、range row keyall rows 仅基于rowkeyInspur 特仅支持三种查询方式key、range row keyall rows 仅基于rowkeyWAL (Write 201

16、2InspurInspur 特Hadoop分析后的结果可直接写入2012Inspur 特Hadoop分析后的结果可直接写入2012InspurInspur HBase与RDBMS对2012Inspur数据只有丰富的数数据Inspur HBase与RDBMS对2012Inspur数据只有丰富的数数据简单的增模基于基于表格结构和数据更新后旧版本仍然替可伸轻易的进行增加节点,兼容需要中间层,牺牲Inspur HBase 2012InspurInspur HBase 2012InspurInspur HBase HBasecache来加快对HBase保证任何时候,集群中只有一个。Regionserve

17、r的上线和下线信息。并实时通知给为Region server分配负责RegionInspur HBase HBasecache来加快对HBase保证任何时候,集群中只有一个。Regionserver的上线和下线信息。并实时通知给为Region server分配负责Regionserver发现失效的Regionserver并重新分配其上的RegionRegion Region server负责切分在运行过程中变得过大的2012InspurInspur -ROOT-与.META-表包含.META.表所在的区域列表,该表只会有一个;Zookeeper了-ROOT-表的Inspur -ROOT-与.M

18、ETA-表包含.META.表所在的区域列表,该表只会有一个;Zookeeper了-ROOT-表的2012InspurRegion2012InspurRegion2012InspurInspur 2012InspurInspur 2012InspurInspur 逻辑视图、物理视数据。表由行和列组成。列划分为若干个列族(rowRow Time CF “为一个2012InspurRow Time Column Row Time Column Row Time Column Inspur 逻辑视图、物理视数据。表由行和列组成。列划分为若干个列族(rowRow Time CF “为一个2012Insp

19、urRow Time Column Row Time Column Row Time Column Inspur 数据表中一些关键概keyFamilyqualifier列族修饰符(列时间Region2012Inspur 数据表中一些关键概keyFamilyqualifier列族修饰符(列时间Region2012Inspur键keInspur 表中行的键是字节数组()表中的行根据行的键值进行排序,数据按照的字节序order;字典序排序的结果,95,96,97,98,99。要保持整形的自然序,行键必须键keInspur 表中行的键是字节数组()表中的行根据行的键值进行排序,数据按照的字节序orde

20、r;字典序排序的结果,95,96,97,98,99。要保持整形的自然序,行键必须用0作左填通过单个row 通过rowkey的全表扫都要通2012InspurInspur 列HBase表中的每个列都归属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出。如成员(column);如以及调优都是在列族层面进行在同下2012InspurInspur 列HBase表中的每个列都归属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出。如成员(column);如以及调优都是在列族层面进行在同下2012InspurInspur 单元格修饰通过列族:单元格修饰符2012Inspu

21、rGet get = new Get(rowKey.getBytes(); Result rs = table.get(get);forInspur 单元格修饰通过列族:单元格修饰符2012InspurGet get = new Get(rowKey.getBytes(); Result rs = table.get(get);for(KeyValuekv:rs.raw()(new String(kv.getRow() + ); (new String(kv.getFamily() + :); (newString(kv.getQualifier()+); () + ); ln(new Str

22、ing(kv.getValue();Inspur 时间戳在HBase每个单元对同一份数据有多个本,根据唯一的时间戳来区分每个版本之间Inspur 时间戳在HBase每个单元对同一份数据有多个本,根据唯一的时间戳来区分每个版本之间的的64位整型时间戳可以由HBase(在数据写入时自动)赋值,此时间戳也可以由客户显式赋值,如果应用程序要避免数据版本,就必须自己生成具有唯一2012InspurInspur 区HBase自动把表水平划分成多个区域(regionregion会保存一个表里面某段连续的数据每个表一开始只有一个region,随着数据不断表,region不断增大,当增大到一个阀值的时候,reg

23、ion就会等分会两个新的当table中的行不断增多,就会有越来越多的Inspur 区HBase自动把表水平划分成多个区域(regionregion会保存一个表里面某段连续的数据每个表一开始只有一个region,随着数据不断表,region不断增大,当增大到一个阀值的时候,region就会等分会两个新的当table中的行不断增多,就会有越来越多的。这样一张完整的表被保存在多个上2012InspurInspur Cell单元的字节数+ 唯一确定的单元。cell中的数据是没类型的,全部是字节码形式存2012InspurInspur Cell单元的字节数+ 唯一确定的单元。cell中的数据是没类型的,

24、全部是字节码形式存2012InspurInspur 锁HBase素,无论对行进的事务设计多少列,对的更新都是原子的。都可以加锁。Inspur 锁HBase素,无论对行进的事务设计多少列,对的更新都是原子的。都可以加锁。这使得加锁型简单化2012InspurInspur 中数据表的物方2012InspurInspur 中数据表的物方2012InspurInspur 物Inspur 物2012InspurInspur 物Inspur 物2012InspurInspur 物4 、HRegion是HBase示不同的Inspur 物4 、HRegion是HBase示不同的HRegion可以分布在不同的H

25、Regionserver上。但一个HRegion是不2012InspurInspur 物、HRegion虽然是分布的最Inspur 物、HRegion虽然是分布的最小单元,但并不的最小单元2012InspurInspur 物2012InspurInspur 物2012InspurInspur 物HFileDataBlock。Block 段:DataBlock的索引。每条索引的keyIndexNumbercheck),然后,DataBlockIndex将整个 DataBlockIndex采Inspur 物HFileDataBlock。Block 段:DataBlock的索引。每条索引的keyIn

26、dexNumbercheck),然后,DataBlockIndex将整个 DataBlockIndex采用LRU机制淘汰HFile的Data Block,Meta Block通常采用压缩方式,压缩之后可以大大减少网络IO和磁盘IO,随之而来的开销当然是需要花费cpu进行压缩和解压缩目标Hfile的压缩支持两种方式:Gzip,Lzo2012InspurInspur 物HLog文件就是一个普通的HadoopSequenceFile,SequenceFileInspur 物HLog文件就是一个普通的HadoopSequenceFile,SequenceFile入时间”,sequence number

27、的起始值为0,或者是最近一次存入文件系统中 sequencenumber。HLogSequeceFile的Value是HBase的KeyValue对象,即2012InspurInspur HBase互接API,最常规和高效方式,适合Job并行批处理HBaseSHBaseGateway,利用Thrift序列化技术,支持,等多种HBaseGateway,支持风格的解了语言限Hive,使用类似SQL语言Pig,可以使用Latin流式编程语言来操作HBase中的Job来处,和Hive类似,本质最终也是编译成HBase2012InspurInspur HBase互接API,最常规和高效方式,适合Job并

28、行批处理HBaseSHBaseGateway,利用Thrift序列化技术,支持,等多种HBaseGateway,支持风格的解了语言限Hive,使用类似SQL语言Pig,可以使用Latin流式编程语言来操作HBase中的Job来处,和Hive类似,本质最终也是编译成HBase2012InspurInspur CAP理HBase的部2012Inspur CAP理HBase的部2012InspurInspur Availability可用性(指的是快速获取数据Inspur Availability可用性(指的是快速获取数据PartitionTolerance 分区性(2012InspurInspur

29、 取用户评论对不一致是不敏感的,可Inspur 取用户评论对不一致是不敏感的,可产品价格则是非常敏感的,通2012InspurInspur 一致弱一致性(包括最终一致性Inspur 一致弱一致性(包括最终一致性。2012InspurInspur Inspur 高一致性:N=W,R=1,这个时候可用性就会大大降高可用性:W=1,这样使得写操作延迟最低,同时通过异步的机制剩余的N-W个节点(N,R,W)(3,2,2),2012InspurInspur 编辑hbase-site.xml(关联覆盖jar把Inspur 编辑hbase-site.xml(关联覆盖jar把启动2012InspurInspu

30、r 2012InspurInspur 2012InspurInspur Inspur 2012InspurInspur 尽量使数据在一个列族中,因为一个列族是一个StoreFile对应HDFS中的Inspur 尽量使数据在一个列族中,因为一个列族是一个StoreFile对应HDFS中的2012InspurInspur #查询Hbase3servers,0dead,1.0000average#查询Hbase0.90.4,r1150278,SunJul2415:53:29Inspur #查询Hbase3servers,0dead,1.0000average#查询Hbase0.90.4,r11502

31、78,SunJul2415:53:29PDT#0列族列族2012Inspur#列出表1row(s)in #查看表信#列出表1row(s)in #查看表信NAME=member,SNAME=address,BLOOMFILTER=NONE,REPLICATION_SCOPE=0,true,S=3,NONE,TTL=2147483647,BLOCKSIZE=65536,IN_MEMORY=false,BLOCKCACHE=NAME=info,BLOOMFILTER=NONE,REPLICATION_SCOPE=0,VER TTL= 2147483647, BLOCKSIZE = 65536, IN

32、_MEMORY =false,BLOCKCACHE=1row(s)inS=3,=2012InspurInspur 删除列族:alter、disable、enable ERROR:Tablememberisenabled.DisablebeforeInspur 删除列族:alter、disable、enable ERROR:Tablememberisenabled.Disablebeforehbase(main):004:0disable0row(s) in #0row(s) in hbase(main):008:0enable0row(s) in #2012InspurInspur Inspu

33、r 2012InspurInspur hbase(main):001:0get Inspur hbase(main):001:0get 6row(s) in 2012InspurInspur hbase(main):002:0get Inspur hbase(main):002:0get 3row(s) in 2012InspurInspur hbase(main):002:0get1row(s) in 2012Inspur hbase(main):002:0get1row(s) in 2012InspurInspur hbase(main):004:0putmember,scutshuxue

34、,info:age0row(s) in hbase(main):005:0getInspur hbase(main):004:0putmember,scutshuxue,info:age0row(s) in hbase(main):005:0getinfo:age 1row(s) in 2012InspurInspur 通过来获1row(s) in Inspur 通过来获1row(s) in 1row(s) in 2012InspurInspur hbase(main):016:0delete0row(s) in #删除指定字hbase(main):018:0get#删除指定字Inspur hbase(main):016:0delete0row(s) in

温馨提示

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

最新文档

评论

0/150

提交评论