这里假定hadoop已经部署完成(详细步骤可参考上一篇文章),继续进行hbase的安装,过程如下:
1、下载Hbase2.0.5,下载地址:http://archive.apache.org/dist/hbase/,这里注意hbase和hadoop的版本,hadoop2.7.x以上,hbase2.0以上。
2、解压并添加环境变量,如下:
增加系统变量:HBASE_HOME=E:\geotrellis\hbase-2.0.5
PATH增加%HBASE_HOME%\bin
3、配置hbase-env.sh,配置文件位于hbase_home/conf下
4、配置hbase-site,位置同上。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zookeeper</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>false</value>
</property>
</configuration>
这里设置不使用集群,hbase.cluster.distributed=false
5、启动hbase,cd到hbase的bin目录,输入:start-hbase.cmd
6、进入hbase的bin目录,输入.\hbase shell
1)、HBase shell中的帮助命令非常强大,使用help获得全部命令的列表,使用help ‘command_name’获得某一个命令的详细信息。 例如:
help ‘list'
2)、查询服务器状态
status
3)、查询Hbase版本:
version
4)、查看所有表
list
增删改
1)、创建一个表
create 'member','member_id','address','info’
2)、获得表的描述
describe 'member'
3)、添加一个列族
alter 'member', 'id'
4)、删除一个列族
alter 'member', {NAME => 'member_id', METHOD => 'delete’}
5)、删除列
1)通过delete命令,我们可以删除id为某个值的‘info:age’字段,接下来的get就无视了
delete 'member','debugo','info:age'get 'member','debugo','info:age'
2)删除整行的值:deleteall
deleteall 'member','debugo'get 'member',’debugo'
6、通过enable和disable来启用/禁用这个表,相应的可以通过is_enabled和is_disabled
来检查表是否被禁用。
is_enabled 'member'is_disabled 'member'
7、使用exists来检查表是否存在
exists 'member'
8、删除表需要先将表disable。
disable 'member'drop 'member'
9、put
在HBase shell中,我们可以通过put命令来插入数据。例如我们新创建一个表,它拥有id、address和info三个列簇,并插入一些数据。列簇下的列不需要提前创建,在需要时通过:来指定即可。
create 'member','id','address','info'
# 数据
put 'member', 'debugo','id','11'
put 'member', 'debugo','info:age','27'
put 'member', 'debugo','info:birthday','1987-04-04'
查询
1、查询表中有多少行:count
count 'member'
2、get
1)获取一个id的所有数据
get 'member', ‘Sariel'
2)获得一个id,一个列簇(一个列)中的所有数据:
get 'member', 'Sariel', 'info'
3、查询整表数据
scan 'member'
4、扫描整个列簇
scan 'member', {COLUMN=>'info'}
5、指定扫描其中的某个列:
scan 'member', {COLUMNS=> 'info:birthday'}