文档章节

HBase简介-HBase企业应用实战读书笔记1

王水起
 王水起
发布于 2017/08/28 19:11
字数 927
阅读 56
收藏 0

一、HBase简介

  1. HBase的四大核心功能模块 客户端Client、协调服务模块ZooKeeper、主节点HMaster 和Region 节点RegionServer。
  1. 客户端Client Client是HBase系统的入口,使用RPC机制与HMaster和RegionServer通信。管理类操作,client使用RPC机制连接HMaster进行操作。数据读写类操作,client使用RPC机制连接RegionServer进行操作。客户端类型:JAVA、Thrift、Avro、Rest、Mapreduce等。

RPC机制:RPC机制基于传统的函数调用原理。在编程过程中,我们会将一个大功能分割成若干个小功能,每个小功能用一个函数实现,通过函数调用将这些函数连接起来。一般而言,这些函数必须运行在同一台机器中。而RPC机制提供了一种方法,它可以将函数分散到不同的机器中,允许机器A中的main函数调用机器B中的func4。

  1. 协调服务组件ZooKeeper Zookeeper负责管理HBase:存储HBase元数据信息,实时监控RegionServer、存储所有Region的寻址入口,HMaster选举(保证集群只有一个HMaster),服务器状态同步。

  2. HMaster HBase中可以启动多个HMaster,通过Zookeeper管理,保证只有一个Master正常运行并提供服务,其他节点备用,HMaster主要负责Table和Region的管理工作:  管理用户对table的增删改查操作

    	管理RegionServer的负载均衡,调整Region分布
    
    	Region分裂时,负责新Region的分布
    
    	RegionServer死机后,负责失效的RegionServer上的Region的迁移
    
  3. Region节点HRegionServer HBase中最核心的模块。负责响应用户IO请求,向HDFS文件系统中读写数据。HRegionServer内部管理了一系列HRegion对象,每个HRegion对应了Table 中的一个Region。HRegion由多个HStore组成,每个HStore(仓库)对应了Table中的一个ColumnFamily的存储。 HStore存储是HBase存储的核心,由两部分组成:MemStore和StoreFile。MemStore是SortedMemoryBuffer,用户写入的数据首先会放入MemStore中,当MemStore满了以后会缓冲(flush)成一个StoreFile(底层实现是HFile),当StoreFile文件数量增长到一定阈值,会触发Compact操作,将多个StoreFiles合并成一个StoreFile,在合并过程中会进行版本合并和数据删除,因此可以看出HBase其实只有增加数据,所有的更新和删除操作都是在后续的Compact过程中进行的,这使得用户的写操作只要进入内存中就可以立即返回,保证了HBaseI/O的高性能。

写入数据时先写入缓存中(MEMStore),缓存增大到一定程度时,写成一个文件(StoreFile),当文件(StoreFiles)增加到一定程度时,会将多个文件合并成一个文件(compact),当一个Region上的StoreFiles增大道一定程度时,触发拆分操作,把一个Region分裂成2个Region,老Region下线。两个新Region由HMaster分发到对应的HRegionServer上。

HStore 仓库 MemStore 缓存仓库 StoreFile 仓库文件

  1. HBase应用场景  存储大量的数据(PB 级数据)且能保证良好的随机访问性能。

    	需要很高的写吞吐量,瞬间写入量很大,传统数据库不能支撑或需要很高成本支撑的场景。
    
    	可以进行优雅的数据扩展,动态扩展整个存储系统容量。
    
    	数据格式无限制,支持半结构化和非结构化的数据。
    
    	业务场景简单,不需要全部的关系型数据库特性,例如交叉列、交叉表,事务、连接等。
    

© 著作权归作者所有

上一篇: Hadoop入门
下一篇: Java多线程面试题
王水起
粉丝 1
博文 10
码字总数 5280
作品 0
武汉
私信 提问
加载中

评论(0)

HBase+SpringBoot实战分布式文件存储

第1章 课程简介 课程简介及期望学习本门课程可以达到的目标。对本门课程所用到的技术进行概览 第2章 HBase简介与环境部署 介绍HBase是什么,能做什么,有哪些优缺点,适用于哪些应用场景,与...

osc_7a42mjbc
2019/01/13
4
0
中国HBase技术社区第八届MeetUp ——HBase应用实践专场

中国HBase技术社区第八届MeetUp ——HBase应用实践专场 HBase—Hadoop Database是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据...

阿里云栖技术沙龙
2018/11/13
55
0
中国HBase技术社区第十届meetup--HBase生态实践 (杭州站)

云栖开发者沙龙介绍 阿里云栖开发者沙龙是“云栖社区”主办的线下技术沙龙品牌,希望通过技术干货分享来打通线上线下专家和开发者的连接。沙龙每期将定位不同的技术方向,逐步覆盖 云计算,大...

阿里云栖技术沙龙
2019/02/27
57
0
Apache旗下顶级盛会HBaseConAsia2019将于7月20日在北京举行

Apache HBase介绍 Apache HBase是基于Apache Hadoop构建的一个高可靠性、高性能、可伸缩的分布式存储系统,它提供了大数据背景下的高性能的随机读写能力,HBase是Google Big table的开源实现...

正研
2019/07/09
0
0
HBASE(分布式海量NOSQL数据库)

HBase建表高级属性,hbase应用案例看行键设计,HBase和mapreduce结合,从Hbase中读取数据、分析,写入hdfs,从hdfs中读取数据写入Hbase,协处理器和二级索引 1. Hbase高级应用1.1建表高级属性...

osc_zrrg1637
2018/02/27
10
0

没有更多内容

加载失败,请刷新页面

加载更多

QEMU、KVM、libvirt三者间的关系

QEMU QEMU提供了一个开源的服务器全虚拟化解决方案,它可以使你在特定平台的物理机上模拟出其它平台的处理器,比如在X86 CPU上虚拟出Power的CPU,此时的Guest OS感觉不到虚拟机的存在,就像运行在...

osc_7ludm6s2
11分钟前
9
0
QEMU和KVM的关系

KVM是指在CPU硬件支持基础之上的虚拟化技术。没有CPU硬件虚拟化的支持,KVM是无法工作的。 准确来说,KVM是Linux的一个模块。可以用modprobe去加载KVM模块。加载了模块后(kvm和kvm-intel模块...

osc_3ytpwpyb
13分钟前
3
0
thymeleaf语法(二)

<span th:if="$(user.age) eq 23"></span> 运算符: gt  :great than  (大于)  > ge  :great equal  (大于等于)  >= eq  :equal  (等于)  = lt  :less than  (小于) ......

osc_nt0jrqne
15分钟前
3
0
送给发烧友:Python条件语句的七种写法T

有的人说 Python 入门容易,但是精通难的语言,这点我非常赞同。Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的。在这些人的眼里,能够写出那些一般开发者...

osc_0kdyznad
16分钟前
11
0
人物-企业家:车建新

ylbtech-人物-企业家:车建新 车建新 ,男,1966年6月18日生于江苏省常州市,红星美凯龙家居集团股份有限公司(Red Star Macalline Group Corporation Ltd.)董事长兼CEO,并担任全国工商联执...

osc_z2ru77w0
17分钟前
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部