先留个问题~ERROR: KeeperErrorCode = ConnectionLoss for /hbase/master
稍后解决
找到了问题的根因:
查看报错日志
事关tmp文件夹的配置,所以去找一下hbase配置文件中关于这个文件夹的配置项
我的策略是将这个配置项注销掉
然后启动hbase ,之后hmaster就成功启动了;
接着shell命令进入hbase数据库
bin/hbase shell
可以通过shell操作habse的了;
在hbase中创建表
create '表名' ,'列族1','列族2'....
创建表
create 'student','Sname','Ssex','Sage','Sdept','course'
创建结果如下:
因为hbase的表会有一个系统默认的属性作为行键,无需自行创建, 默认为put操作中表名后第一个数据;
查看表信息:
# describe '表名'
describe 'student'
添加数据
# put '表名' ,'行键' ,'列族' ,'值'
put 'student','96866','Sname','LiYing'
#为 96866 行下的course列族的math列添加了一个数据
put 'student','96866','course:math','80'
删除数据
# delete '表名' ,'行键值','列族'
delete 'student','96866','Ssex'
删除96866行下Ssex列的所有数据
deleteall '表名' ,'行键值'
deleteall 'student' ,'96866'
查看数据
上面用到了查看数据的命令
查看数据有两个命令
- get
get用于查看某一行的数据
#get '表名' ,'行键值'
get 'student' ,96866
- scan
scan 用于查看某个表的全部数据
# scan '表名'
scan 'student'
删除表
#drop '表名'
drop 'student'
直接删除表时会给一个提示:
所以删除表有两步
disable '表名'
drop '表名'
查询表历史数据
要查询表的历史数据,首先要在创建表的失手指定保存的版本数
- 创建要保存版本数的表
create 'teacher',{NAME=>'username',VERSIONS=>5}
上面的命令表示username列保存的版本数为5
- put 插入数据/当然也可以是更新数据
put 'teacher','91001','username','Mary'
put 'teacher','91001','username','Mary1'
put 'teacher','91001','username','Mary2'
put 'teacher','91001','username','Mary3'
put 'teacher','91001','username','Mary4'
put 'teacher','91001','username','Mary5'
- 查看数据
看以看到,默认会查到最新版本的数据;
当我们想要获取历史版本的数据时:
#get '表名' ,'行键',{COLUMN=>'列名',VERSIONS=>5}
get 'teacher' ,91001 ,{COLUMN=>'username',VERSIONS=>5}
可以看到每个数据都有一个时间戳;
退出hbase
exit