【IT168 专稿】本篇要评测的NoSQL产品是HBase,和其他简单的Key-Value结构不同,HBase主要面向处理海量数据的应用,可以认为是Google BigTable的一个开源版本。由于Facebook使用HBase来存储消息内容和大数据量的实时分析而使得这一产品备受关注。
系列文章:
一、HBase简介
HBase是用Java开发的,是一个开源的、分布式的、面向列的数据库,其存储的每个值都有一个时间戳,可以根据定义好的规则保存多个版本(默认是3个),这样就可以记录数据的变动情况。
HBase和Hadoop无缝集成,可以利用HDFS实现数据的底层分布式存储,保证冗余和可靠性,通过ZooKeeper来实现一致性和高可用性。
HBase有两种部署方式:一种是比较简单的单实例方式,它已经内置了0.20版本的Hadoop包和一个本地ZooKeeper,它们运行在同一个JVM之下,可以用本地文件系统而不用HDFS。另外一种比较复杂的分布式部署,需要在每一个节点替换自带的Hadoop包以免有版本问题,而且必须有一个HDFS实例,同时需要独立的ZooKeeper集群,这也是处理海量数据时的推荐的部署方式。本文为测试方便,使用简单的单实例部署方式。
二、安装和使用
首先从镜像下载最新版的HBase,目前最新的版本是0.90.3:
[root@localhost hbase]# wget http://mirror.bjtu.edu.cn/apache/hbase/stable/hbase-0.90.3.tar.gz
先检查下本地的JDK版本是否在1.6以上:
[root@localhost hbase]# java -version
java version "1.6.0_24"
java version "1.6.0_24"
解压并配置数据文件的路径:
[root@localhost hbase]# tar zxvf hbase-0.90.3.tar.gz
[root@localhost hbase]# cd hbase-0.90.3/conf
[root@localhost conf]# vi hbase-site.xml
</configuration>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>/home/banping/hbase/data</value>
</property>
[root@localhost hbase]# cd hbase-0.90.3/conf
[root@localhost conf]# vi hbase-site.xml
</configuration>
<configuration>
<property>
<name>hbase.rootdir</name>
<value>/home/banping/hbase/data</value>
</property>
启动Hbase进程:
[root@localhost hbase-0.90.3]# bin/start-hbase.sh
starting master, logging to /home/banping/hbase/hbase-0.90.3/bin/../logs/hbase-root-master-localhost.localdomain.out
starting master, logging to /home/banping/hbase/hbase-0.90.3/bin/../logs/hbase-root-master-localhost.localdomain.out