使用HBase Shell访问HBase
HBase可以通过shell进行通信。
HBase属于NoSQL数据库的典型代表,并不支持SQL查询语句,但是HBase有自带的查询语句。 HBase shell,最简单的接口,适合HBase管理使用,可以使用shell命令来查询HBase中数据的详细情况。
这里我们使用HBase Shell来测试前面的HBase集群安装是否能正常使用。关于HBase Shell更详细的使用,请参考第四单
一、环境准备
1、启动HDFS和HBase:
$ start-dfs.sh $ start-hbase.sh
2、执行如下命令,以连接正在运行的HBase实例:
$ ./bin/hbase shell
3、执行如下命令,查看HBase的状态,例如,服务器的数量。
hbase(main):001:0> status
4、执行如下命令,查看HBase的版本信息。
hbase(main):001:0> version
5、显示HBase帮助信息:
hbase(main):001:0> help
6、查看某个命令的具体用法(例如create命令),使用下面的方法:
hbase(main):001:0> help 'create'
二、简单数据操作
接下来就可以创建一个简单的表,添加一些数据,然后清除。
1、创建一张表,命名为test,该表有一个列家族data,使用默认的表和列家族属性:
(使用create命令来创建一张新表。必须指定表名和ColumnFamily name)
create 'test','data' list # 列出表信息
2、向三个不同的行以及data列家族插入数据,获取第一行,然后列表显示表内容:
put 'test','row1','data:q1','value1' put 'test','row2','data:q2','value2' put 'test','row3','data:q3','value3' get 'test','row1' # 获取单行数据 scan 'test' # 扫描表获取所有数据 delete 'test','row2','data:q2' # 删除指定的一个cell deleteall 'test','row3' # 删除一整行
3、要删除一张表,首先要禁用它:
disable 'test' # 要重新启用这张表,使用enable 'test' drop 'test' list
4、执行下面的命令,退出HBase shell,断开连接:
quit
或
exit
5、执行下面的命令,关闭HBase:
$ stop-hbase.sh
使用jps来确定HMaster和HRegionServer进程已关闭。
三、练习
1. 创建表test
create 'test', 'cf'
2. 列表查看表
list 'test'
3. put数据入表:
put 'test', 'row1', 'cf:a', 'value1' put 'test', 'row2', 'cf:b', 'value2' put 'test', 'row3', 'cf:c', 'value3'
4. 扫描表
scan 'test'
5. 获取单行数据
get 'test', 'row1'
6. 禁用表和启用表
disable 'test' enable 'test'
7. 删除表(要先禁用,再删除)
disable 'test' drop 'test'
四、常见问题
1、如果HMaster掉了怎么办?
$ ./bin/hbase-daemon.sh start master
2、如果HRegionServer掉了怎么办?
$ ./bin/hbase-daemon.sh start regionserver