hbase常用细节
hbase常用细节
meta表中数据解析
meta表是唯一一个由master直接管理的元数据表。
表中的rowkey是由表名+,+region起始位置+,+regionID组成的
value是region信息,用来存储regionserver的信息,这里的时间是region被分到regionserver的起始时间
hbase查看数据的时机
hbase先把数据写入到写缓存中,同时记录在WAL中,然后等待一些刷写磁盘方式,再把写缓存中的数据刷写到磁盘中,但是数据到达内存中的时候就可以读取到数据,不许与等到数据刷写到磁盘中
WAL介绍
WAL也就是hbase的预写日志,hbase的预写日志中是hbase执行任务的任务记录,如果master出现问题,就会让backMaster读取日志继续做
hbase增加backupMaster(高可用)
为了增加hbase的可用性,可以增加多个backupmaster,当master挂掉后可以切换到其他的backupmaster
在hbase-site.xml
文件中增加
1 | <property> |
然后通过以下命令在每个目标节点启动backupmasterhbase-daemon.sh start master
hbase的多版本存储
hbase是一个多版本管理的系统
每条数据数据写入的时候都会有一个timestamp就是用于标识数据的不同版本,也是数据写入到hbase的时间戳
我们在创建表的时候可以指定版本数
1 | create 'bigdata:student', {NAME => 'info', VERSIONS => 5}, {NAME => 'msg'} |
我们在查询表的时候可以指定最近的几个版本来查询
1 | get 'bigdata:student','1001',{COLUMN => 'info:name',VERSIONS =>6}} |
扫描数据范围
1 | scan 'bigdata:student',{STARTROW => '1001',STOPROW => '1002'} |