HBase架构 http://hbase.apache.org/book.html#_architecture
2015-09-17 13:46
615 查看
1.Master
HMaster是Master Server的实现,HMaster负责监控集群里所有RegionServer,HMaster也是管理所有元数据,一般HMaster和HDFS的NameNode同在一台机器上运行。
一个最普遍的问题就是如果HMaster宕机了怎么办,因为HBase的客户端是直接和RegionServer通信的,所以如果HMaster宕机,整个集群仍会在一个“稳定的状态”运行。而且元数据在HBase的表里,不在HMaster的内存中,然而HMaster要控制比如RegionServer宕机和数据切分,所以HMaster要尽快重启。
2.Region和Store
Region在HBase的情况如图所示
![](http://img.blog.csdn.net/20150917134628508)
通常HBase每台机器管理20-200个每个5-20G的region。
一个Store由一个MemStore加上0到数个StoreFile组成。
3.RegionServer
HRegionServer是ResionServer的实现,负责管理数据region,一般和HDFS的DataNode在同台机器运行
4.HBase的缓存机制
HBase有两种缓存机制,LruBlockCache和BucketCache,LruBlockCache内存使用都在Java的heap上,BucketCache是使用的off-heap方式的内存,从BucketCache取数据会比从LruBlockCache里取要慢,然而BucketCache会减少Java垃圾回收的时间。
LruBlockCache是一个LRU式的缓存,数据被访问的次数越多,该数据块在缓存停留的时间越长。
5.RegionServer的数据切分的实现
当RegionServer接收写请求的时候,写过来的数据会在一个命名为memstore的内存结构积累,当memstore满了,就以store files的形式写到硬盘,当store files文件积累到一定程度,RegionServer就会把它们一起打包成更少更大的文件,这样之后,这个region的数据足够大了,RegionServer就会把它切分。
虽然切分region是在RegionServer本地进行的,但是RegionServer也会在切分开始和结束的时候通知HMaster并更新HMaster的元信息数据,以便客户端能够知晓新的region。
HMaster是Master Server的实现,HMaster负责监控集群里所有RegionServer,HMaster也是管理所有元数据,一般HMaster和HDFS的NameNode同在一台机器上运行。
一个最普遍的问题就是如果HMaster宕机了怎么办,因为HBase的客户端是直接和RegionServer通信的,所以如果HMaster宕机,整个集群仍会在一个“稳定的状态”运行。而且元数据在HBase的表里,不在HMaster的内存中,然而HMaster要控制比如RegionServer宕机和数据切分,所以HMaster要尽快重启。
2.Region和Store
Region在HBase的情况如图所示
通常HBase每台机器管理20-200个每个5-20G的region。
一个Store由一个MemStore加上0到数个StoreFile组成。
3.RegionServer
HRegionServer是ResionServer的实现,负责管理数据region,一般和HDFS的DataNode在同台机器运行
4.HBase的缓存机制
HBase有两种缓存机制,LruBlockCache和BucketCache,LruBlockCache内存使用都在Java的heap上,BucketCache是使用的off-heap方式的内存,从BucketCache取数据会比从LruBlockCache里取要慢,然而BucketCache会减少Java垃圾回收的时间。
LruBlockCache是一个LRU式的缓存,数据被访问的次数越多,该数据块在缓存停留的时间越长。
5.RegionServer的数据切分的实现
当RegionServer接收写请求的时候,写过来的数据会在一个命名为memstore的内存结构积累,当memstore满了,就以store files的形式写到硬盘,当store files文件积累到一定程度,RegionServer就会把它们一起打包成更少更大的文件,这样之后,这个region的数据足够大了,RegionServer就会把它切分。
虽然切分region是在RegionServer本地进行的,但是RegionServer也会在切分开始和结束的时候通知HMaster并更新HMaster的元信息数据,以便客户端能够知晓新的region。
相关文章推荐
- 【Android】HttpUrlConnection AsyncTack
- Android网络请求--服务器端从环境搭建到发布过程
- win8系统如何可以查看无线网络流量?win8查看无线网络流量的方法
- TCP/IP参考模型与OSI参考模型
- Tcp协议的三次握手
- Xcode7 网络请求报错:The resource could not be loaded because the App Transport Security policy requir
- Centos7 配置网络步奏详解
- 计算机网络中TCP与DUP的联系和区别
- 使用AFNetworking进行网络状态的监测
- 硬盘部署还是网络部署?
- httpClient4.x忽略证书直接调用
- 基于Netty的RPC简单框架实现(四):Netty实现网络传输
- 使用AFN网络监听
- Linux下网络配置
- Spring AOP Advices - Before advice example - xml based configuration - See more at: http://www.java2
- android-async-http源码解读(一)
- Android基础入门教程——7.6.2 基于TCP协议的Socket通信(1)
- Xcode7 网络请求报错:The resource could not be loaded because the App Transport Security policy requir
- 网络通信——libevent安装,sample编译,sample运行
- ESP8266可以让LED发光,通过运行网络服务器驱动继电器检测按钮状态