Hack DayHbase原理及使用简介
Posted 一起哔哔哔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hack DayHbase原理及使用简介相关的知识,希望对你有一定的参考价值。
◆ ◆ ◆ ◆
Hbase原理及使用简介
◆ ◆ ◆ ◆
平台研发中心
Java研发工程师
朱真龙
特点
技术
架构
”HRegion虽然是分布式存储的最小单元,但并不是存储的最小单元。事实上,HRegion由一个或者多个Store组成,每个store保存一个columns family。每个Strore又由一个memStore和0至多个StoreFile组成。
如下图:StoreFile以HFile格式保存在HDFS上
存储
模型
常见
命令
# 语法:put <table>,<rowkey>,<family:column>,<value>,<timestamp>
# 例如:给表t1的添加一行记录:rowkey是rowkey001,family name:f1,column name:col1,value:value01,timestamp:系统默认
hbase(main)> put 't1','rowkey001','f1:col1','value01'
用法比较单一。
查询某行记录
# 语法:get <table>,<rowkey>,[<family:column>,....]
# 例如:查询表t1,rowkey001中的f1下的col1的值
hbase(main)> get 't1','rowkey001', 'f1:col1'
# 或者:
hbase(main)> get 't1','rowkey001', {COLUMN=>'f1:col1'}
# 查询表t1,rowke002中的f1下的所有列值
hbase(main)> get 't1','rowkey001‘
# 语法:scan <table>, {COLUMNS => [ <family:column>,.... ], LIMIT => num}
# 另外,还可以添加STARTROW、TIMERANGE和FITLER等高级功能
# 例如:扫描表t1的前5条数据
hbase(main)> scan 't1',{LIMIT=>5}
#禁用表
hbase(main)>disable ‘t1’
#删除表
hbase(main)>drop ‘t1’
常见
问题
1、Region过少
对读的影响
相比较有多个region的情况,读并发比较低。 如果region多的表,需要读的数据跨两个region,则相当于并行在读,如果region少,则相当于串行在读。
对写的影响
同样是写并发度问题。另外,如果region过少,同样高的并发写入,会导致的flush次数变多,导致minitor compact频率更高,从而导致写性能降低。
2、RegionServer进程挂
可能性比较多:jvm策略问题、hdfs节点连接数不够、节点间时间不同步、网络延迟高、超时时间过短等等
一起哗哗哗
以上是关于Hack DayHbase原理及使用简介的主要内容,如果未能解决你的问题,请参考以下文章