以简洁为主,不长篇大论,容易记忆
读写流程regionserver简称rs 读流程
client访问zk,获取元表信息根据元表信息读取rs上的区域信息,client向rs发出读取请求的rs首先检查memstore,然后检查blockcache,如果没有找到,则检查store filerrer
客户端访问rs,获取元表信息,获取基于元表信息写入的rs上的区域信息客户端向rs发出写入请求,将rs可能收到的数据写入Hlogrs,并将数据写入memstore 即使写入成功,只要memstore达到128M或其他条件就可以。 当flush超过storefilestorefile且compact合并为一个storefile达到10G时,触发region split,master分配rowkey设计三个关键字。 太多了记不住
加盐
散列
逆转
hbase预分区可以在创建表时指定分区。 SPLITS参数将rowkey的范围分为1-1000、1001-2000、2001-3000的每个范围一个region,输入数据时的数量rowkey不同。 数据进入不同的region Hbase辅助索引hbase,很难基于非rowkey字段进行查询,但如果有列族的列经常用于查询筛选条件,请创建辅助索引表,然后对该列进行key查询
缺点是两个表不一定能同步更新信息。
hbase优化表编制时的优化
rowkey优化列家族的数量不多。 1~2个就可以了。 设置regionserver缓存设置数据的保存时间写入时的优化
存在关闭WAL并批量写入数据的风险。 将Put包装在List中以增加写入时的缓存大小。 ()高速、内存消耗) )压缩时间memstore高速缓存大小读取时的优化
-Scan.setCaching,设置得大查找快,但占用内存
-region的大小,越大各有利弊
-区域服务器线程数
硬件优化
region server内存hbase组成和每个组件有写流程
接口提供缓存clientHmaster高可用性region server动态上下划线http://www.Sina.com/负载平衡region分配方案更新,(创建和删除ns表) http://