Hbase分析报告 - 天极网 全球最大中文IT网站 引领中国数 ….doc

Hbase分析报告 - 天极网 全球最大中文IT网站 引领中国数 ….doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hbase分析报告 - 天极网 全球最大中文IT网站 引领中国数 ….doc

Hbase分析报告 本文基于环境hadoop-0.16.4 和 hbase-0.1.3 编写 Hbase是一个分布式开源数据库,基于Hadoop分布式文件系统,模仿并提供了基于Google文件系统的Bigtable数据库的所有功能。 Hbaes的目标是处理非常庞大的表,可以用普通的计算机处理超过10亿行数据,并且有数百万列元素组成的数据表。 Hbase可以直接使用本地文件系统或者Hadoop作为数据存储方式,不过为了提高数据可靠性和系统的健壮性,发挥Hbase处理大数据量等功能,需要使用Hadoop作为文件系统,那么我们就先要了解Hadoop文件系统的基本特性和原理,才能更好地理解Hbase的工作方式。 Hadoop文件系统 Hadoop文件系统是一个能够兼容普通硬件环境的分布式文件系统, 和现有的分布式文件系统不同的地方是Hadoop更注重容错性和兼容廉价的硬件设备,这样做是为了用很小的预算甚至直接利用现有机器就实现大流量和大数据量的读取。 Hadoop 使用了POSIX的设计来实现对文件系统文件流的读取。HDFS(Hadoop FileSystem)原来是Apache Nutch搜索引擎(从Lucene发展而来)开发的一个部分,后来独立出来作为一个Apache子项目。 Hadoop的假设与目标 硬件出错,Hadoop假设硬件出错是一种正常的情况,而不是异常,为的就是在硬件出错的情况下尽量保证数据完整性,HDFS设计的目标是在成百上千台服务器中存储数据,并且可以快速检测出硬件错误和快速进行数据的自动恢复。 流数据读写,不同于普通的文件系统,Hadoop是为了程序批量处理数据而设计的,而不是与用户的交互或者随机读写,所以POSIX对程序增加了许多硬性限制,程序必须使用流读取来提高数据吞吐率。 大数据集,HDFS上面一个典型的文件一般是用GB或者TB计算的,而且一个数百台机器组成的集群里面可以支持过千万这样的文件。 简单的文件模型,HDFS上面的文件模型十分简单,就是一次写入多次读取的模型,文件一旦创建,写入并关闭了,之后就再也不会被改变了,只能被读取,这种模型刚好符合搜索引擎的需求,以后可能会实现追加写入数据这样的功能。 强大的跨平台兼容性,由于是基于java的实现,无论是硬件平台或者是软件平台要求都不高,只要是jdk支持的平台都可以兼容。 Hadoop体系结构 目录节点(NameNode)和数据节点(DataNodes) Hadoop文件系统是主从架构,一个Hadoop文件系统由唯一一个目录节点和数个数据节点组成。 Hadoop文件系统对外表现为一个普通的文件系统,用户可以用文件名去存储和访问文件,而实际上文件是被分成不同的数据块,这些数据块就是存储在数据节点上面。 目录节点是集群里面的主节点,负责文件名的维护管理,也是客户端访问文件的入口。文件名的维护包括文件和目录的创建、删除、重命名等。同时也管理数据块和数据节点的映射关系,客户端需要访问目录节点才能知道一个文件的所有数据块都保存在哪些数据节点上。 数据节点一般就是集群里面的一台机器,负责数据的存储和读取。在写入时,由目录节点分配数据块的保存,然后客户端直接写到对应的数据节点。在读取时,当客户端从目录节点获得数据块的映射关系后,就会直接到对应的数据节点读取数据。数据节点也要根据目录节点的命令创建、删除数据块,和冗余复制。 一个典型的Hadoop文件系统集群部署,是由一台性能较好的机器运行目录节点,而集群里面的其它机器每台上面运行一个数据节点。当然一个机器可以运行任意多个数据节点,甚至目录节点和数据节点一起运行,不过这种模式在正式的应用部署中很少使用。 唯一的目录节点的设计大大简化了整个体系结构,目录节点负责Hadoop文件系统里面所有元数据的仲裁和存储。这样的设计使数据不会脱离目录节点的控制。 Hadoop文件系统命名空间 Hadoop文件系统使用的是传统的分级文件体系,客户端程序可以创建目录并且在目录里面保存文件,类似与现在一般的文件系统。Hadoop允许用户创建、删除文件,在目录间转移文件,重命名文件等,但是还没有实现磁盘配额和文件访问权限等功能,也不支持文件的硬连接和软连接(快捷方式),这些功能在短期内不会实现。 目录节点负责存储和管理整个文件系统的命名空间,应用程序可以指定某一个文件需要在Hadoop文件系统中冗余多少份,这个在Hadoop中称为冗余因素,保存在目录节点里面。 Hadoop存储原理 冗余数据保存 Hadoop文件系统是为了大文件的可靠保存而设计的,一个文件被划分成一连串的数据块,除了文件的最后一块以外其它所有的数据块都是固定大小的,为了数据容错性,每一个数据块都会被冗余存储起来,而每个文件的块大小和冗余因素都是可以设置的,程序可以设置文件的数据块要

文档评论(0)

kunpengchaoyue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档