HBase系列(二)
来源:互联网 发布:depaul university知乎 编辑:程序博客网 时间:2024/05/01 16:56
1 HRegion结构
参看http://blog.csdn.net/wyl6019/article/details/52995909结构图可以看出HRegion的结构包括:
当向HBase中写入数据时,会向HLog中写入日记,之后在向HRegion的MemStore中写入,接着异步写入到StoreFile中,存储到HDFS中;
Client先询问zookeeper的.META.信息,找到对应的HRegionServer;
将操作日记同步写入到HLog中;
将数据写入到对应的HRegion的MemStore中;
返回客户端写入成功;
当MemStore达到一定大小,再将数据存储到磁盘(StoreFile),这一步是异步进行,这是保证HBase写操作高效的原因所在;
当StoreFile的数量达到一定阈值,触发Compact合并,此时多个storeFile合并成一个较大的StoreFile;
当StoreFile的大小超过阈值,会触发split分割,将这个HRegion分割为两个子HRegion;
最后HMaster决定是否需要负载均衡,若需要,将HRegion分配到不用的HRegion Server上;
2 HBase内部表
.META. :存储HRegion的列表和HRegion Server 的服务地址;
Namespace:存储命名空间表;
3 HBase shell
hbase(main):006:0> list_namespace //列出HBase的命名空间
hbase(main):009:0> list_namespace_tables ‘hbase’; //列出指定命名空间的表
hbase(main):002:0> scan 'hbase:namespace' //列出表信息
hbase(main):003:0> create_namespace 'wyl' //创建命名空间
hbase(main):006:0> scan 'hbase:meta' //列出所有元数据
hbase(main):007:0> create 'table_wyl','info' //创建一张表名为table_wyl,列族info
hbase(main):011:0> put 'table_wyl','rowkey001','info:name','wangyl' //向表中插入一条数据
此时数据写入到内存中,并没有flush到磁盘,可以在管理界面上查看:
http://hadoop_master:50070
hbase(main):013:0> flush 'table_wyl' //内存中刷盘
当该目录下有三个文件时候(可以配置),将触发compact操作
- HBase系列(二)
- HBase系列(一)
- HBase系列(三)
- HBase(二)
- hbase总结(二)-hbase安装
- hbase总结(二)-hbase安装
- HBase(二)hbase shell常用语法
- HBase学习笔记(二)HBase架构
- HBase源码系列(二)Client如何找到正确的Region Server
- HBase之二【HBase基础】hbase介绍(2)
- HBASE系列
- HBase学习笔记(二)
- hbase学习笔记(二)
- HBase基本用法 (二)
- Hive集成HBase(二)
- Hbase集群搭建(二)
- Hbase数据迁移(二)
- HBase的异常(二)
- Java spi机制 面向接口的编程
- Http使用get或post请求网络数据
- 剩余18天………… 练一发搜索 从基础开始吧……
- [leetcode]22. Generate Parentheses
- unity 面向旋转
- HBase系列(二)
- TCP三次握手、四次挥手
- 【51nod】算法马拉松19 总结
- Acticle 17:jquery基础(基本选择器)
- 广告学流量预算
- 关于安装mysql
- docker 运行 javaweb(oracle 数据库) 不能连接数据库问题
- insert、delete、update、replace
- 洛谷 P2672 推销员