HBase建立在Hadoop文件系统(HDFS)之上的分布式、面向列的数据库。
毕竟HBase是抄的Google的,因此,会有和Goolge的技术有一些对应关系:
- HBase作为Google Bigtable的开源实现
- Google Bigtable利用GFS作为其文件存储系统类似,则HBase利用Hadoop HDFS作为其文件存储系统
- Google通过运行MapReduce来处理Bigtable中的海量数据,同样,HBase利用Hadoop MapReduce来处理HBase中的海量数据
- Google Bigtable利用Chubby作为协同服务,HBase利用Zookeeper作为对应。
安装
下载http://apache.claz.org/hbase/2.0.1/并解压:
tar xfz FILE
cd FILE
复制代码
设置环境变量
在你启动HBase之前,需要先设置JAVA_HOME
环境变量。HBase提供了一个中心机制 conf/hbase-env.sh,编辑此文件,取消注释以下行JAVA_HOME
,并将其设置为您的操作系统的适当位置。如果是MAC的话,可以使用$(/usr/libexec/java_home)
来查找即可。
export JAVA_HOME=$(/usr/libexec/java_home)
复制代码
然后,启动HBase:
conf/hbase-env.sh
复制代码
应该可以看到如下输出:
running master, logging to /Users/lcj/Downloads/hbase-2.0.1/bin/../logs/hbase-lcj-master-july.local.out
复制代码
这说明HBase已经启动。
##验证 使用HBase shell来验证(启动起来,还是有点慢,需要耐心):
./bin/hbase shell
复制代码
创建一个表。使用该“create”命令来创建一个新的表。您必须指定表名称和ColumnFamily名称:
create 'test', 'cf'
复制代码
列出关于您的表的信息,通过使用“list”命令来实现:
list 'test'
复制代码
把数据放到你的表中
put 'test', 'row1', 'cf:a', 'value1'
put 'test', 'row2', 'cf:b', 'value2'
put 'test', 'row3', 'cf:c', 'value3'
复制代码
一次扫描表中的所有数据
scan 'test'
复制代码
获取一行的数据:
get 'test', 'row1'
复制代码
删除表: drop 'test'
停止服务:
./bin/stop-hbase.sh
复制代码