Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2170139
  • 博文数量: 436
  • 博客积分: 9833
  • 博客等级: 中将
  • 技术积分: 5558
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-29 10:27
文章存档

2013年(47)

2012年(79)

2011年(192)

2010年(118)

分类: 云计算

2011-10-31 00:20:04

HBase is the  database. Use it when you need random, realtime read/write access to your Big Data. This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware. 


第一阶段:相关资料查找:

   一、初步认识:

   HBase是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBaseHadoop之上提供了类似于Bigtable的能力。HBaseApacheHadoop项目的子项目。

   HBase不同于一般的关系数据库,它是一个适合于非结构化松散数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式。

 

   HBaseGoogle Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应

   仅能通过主键(row key)和主键的range来检索数据

 

   仅支持单行事务

  

  Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

 

   HBase定位:

 HBase在整个Hadoop系统中的位置。与MapReduce紧密连接,建立在HDFS之上。

 

 

   二、HBase的重要属性(简要说明):

 

1Row key行键可以是任意字符串(最大长度是 64KB,实际应用中长度一般为 10-100bytes),在hbase内部,row key保存为字节数组。

2、存储时,数据按照Row key的字典序排序存储。设计key时,要充分排序存储这个特性,将经常一起读取的行存储放到一起。

 

 三、HBase特性小总结

    1 大:一个表可以有上亿行,上百万列

    2 面向列:面向列()的存储和权限控制,列()独立检索。

    3 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。

 


第二阶段:环境搭建:

系统:Windows7 Utimate Edition

虚拟机:Cygwin 3.1

Hadoop 0.21+HBase 0.90.4

 

参考:

 《Hadoop + HBase + Cygwin + Windows 7

 《Windows安装hadoop

  《实战Hadoop

  Windows下基于CygwinEclipseHadoop开发环境完全配置》

  Eclipsehadoop插件的配置》

  Hadoop学习笔记-入门伪分布式配置》

  Hadoop权威指南》

  Hadoop开发者(期刊)》

   等网上及图书资料

 

 

   因考虑到本机电脑内存较小(2G),有可能带不动虚拟机上的linux平台同时运行HadoopHbase故大胆尝试windows cygwin模拟linux环境配置hadoop,理论基础是:Hadoop虽然没有在windows下真正部署,但可以windows可以作为其开发平台

 

经过安装配置cygwin环境,ssh服务器,hadoop环境后运行结果如下:

 

启动hadoop 

 

 

确认启动:

NameNode

 

Hadoop Map

 

 

 


 

    HBase

PS:国内网友普遍抱怨HbaseHadoop0.21不支持,而作者抱着重在尝试的态度没想到配置成功。理论支持是国外有人用Hadoop0.21+Hbase 0.20.6配置成功

 

启动hbase


确认Master运行:


基本命令提示符下的Shell操作:

 


存在的问题

第一阶段问题:

eclipse插件Hadoop小象图标点击后没反应(以解决)

解决方案:

1、按照论坛的方法,将hadoop0.21插件包bug处修改论坛分析原因是0.21版本一个文件的引用名延续了0.20时的hadoopcore而非hadoop0.21hadoop-commonhadoop-hdfshadoop-mapred

   在修改后,尝试失败,小象图标消失

2、经过小组讨论后,发现补充其它安装包,而保留原来的设置能达到效果,而非摒弃原来设置不用。修改后的文件如下:

运行成功:


第二阶段问题:

Eclipse 3.6下运行hadoop程序没反应

推断:eclispe hadoop.jar插件版本不支持正在查找资料研究中


目前我们的研究阶段到了用eclipse运行Hadoophbase程序,修改例子代码阶段

全组人员正在通力合作,探究解决问题。

预计下面我们将进行HBase API使用与构建MapReduce Hbase索引的任务。

 

感谢老师与同学们的支持,我们会尽我所能完成任务的!

 

                                                                吴宇航 20111031日

 在HBase里使用MapReduce例子.doc    HBase性能深度分析.pdf   

阅读(2347) | 评论(1) | 转发(1) |
0

上一篇:李小兵组

下一篇:李小兵组,Halton序列

给主人留下些什么吧!~~

xiaojianredhat2011-10-31 22:33:28

学习一下