- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?Master容错:Zookeeper重新选择一个新的Master 无Master过程中,数据读取仍照常进行; 无master过程中,region切分、负载均衡等无法进行; ?RegionServer容错:定时向Zookeeper汇报心跳,如果一旦时间内未出现心跳 Master将该RegionServer上的Region重新分配到其他RegionServer上; 失效服务器上“预写”日志由主服务器进行分割并派送给新RegionServer ?Zookeeper容错:Zookeeper是一个可靠地服务 一般配置3或5个Zookeeper实例。 Hbase 容错 -ROOT-与.META.表 -ROOT- 表包含.META.表所在的区域列表,该表只会有一个HRegion; Zookeeper中记录了-ROOT-表的location .META. 表包含所有的用户空间区域列表,以及RegionServer的服务器地址; hbase0.96版本后删除了root 表 目录 HBase 简介 HBase 数据模型 HBase 物理模型 HBase 体系结构 HBase 访问方式 HBase 适用场景 HBase 交互接口 Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据 HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用 Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据 REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制 Hive,使用类似SQL语言来访问HBase Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计 目录 HBase 简介 HBase 数据模型 HBase 物理模型 HBase 体系结构 HBase 访问方式 HBase 适用场景 HBase适用场景 摘自:HBase @ Facebook The Technology Behind Messages (and more...) Thank You CLOUDERA提供的架构图,第一代的旧架构图。 * Hbase与HDFS对比 ?两者都具有良好的容错性和扩展性,都可以扩展到成百上千个节点; HDFS适合批处理场景 ?不支持数据随机查找 ?不适合增量数据处理 ?不支持数据更新 Hadoop无缝集成 Hadoop分析后的结果可直接写入HBase; 存放在HBase的数据可直接通过Hadoop来进行分析。 * /book.html 建议去HBase官网学习,非常详细 强一致性 同一行数据的读写只在同一台Region Server上进行 水平伸缩 Region的自动分裂以及Master的balance; 只用增加Datanode机器即可增加容量; 只用增加Region Server机器即可增加读写吞吐量 * 0.9.4版本及之前版本 默认3版本数 0.9.4版本以后版本 默认一个版本 UTF-8 * HBase是一个基于列模式的映射数据库,它只能表示很简单的键-数据的映射关系,这大大简化了传统的关系数据库。与关系数据库相比,它有如下特点:一、数据类型 ??????? HBase只有简单的字符串类型,所有的类型都是交由用户自己处理的,它只保存字符串。??????? 而关系数据库有丰富的类型选择和存储方式。二、数据操作 ??????? HBase只有很简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系,所以不能、也没有必要实现表和表之间的关联等操作。??????? 而传统的关系数据通常有各种各样的函数、连接操作。三、存储模式 ??????? HBase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的。??????? 传统的关系数据库是基于表格结构和行模式保护的。四、数据维护 ???????? 确切的说,HBase的更新操作不应该叫做更新,虽然一个主键或列对应新的版本,但它的旧版本仍然会保留,所以它实际上是插入了新的数据,而不是传统关系数据库里面的替换修改。五、可伸缩性 ???????? HBase这类分布式数据库就是为了这个目的而开发出来的,所以它能够轻松地增加或减少(在硬件错误的时候)硬件数量,并且对错误的兼容性比较高。??????? 而传统的关系数据库通常需要增加中间
文档评论(0)