文档章节

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

王水起
 王水起
发布于 2017/08/28 19:11
字数 927
阅读 2
收藏 0
点赞 0
评论 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 级数据)且能保证良好的随机访问性能。

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

© 著作权归作者所有

共有 人打赏支持
王水起
粉丝 0
博文 6
码字总数 2535
作品 0
武汉
hbase 数据库简介安装与常用命令的使用

一:hbase 简介与架构功能 二:hbase 安装与配置 三:hbase 常见shell 命令操作 一:hbase 简介与架构功能 1.1 为什么要使用hbase 数据库 1.2 hbase 简介: 1.3 HBase与Hadoop的对比 1.4 HB...

flyfish225 ⋅ 04/12 ⋅ 0

docker入门到实战(9)docker快速安装hbase

下载镜像 docker pull harisekhon/hbase 运行容器 docker run -ti harisekhon/hbase当你执行成功之后直接进入hbase shell,慢慢享用吧 使用hbase 退出容器后,下次再进入可以使用 docker exe...

编程老司机 ⋅ 05/14 ⋅ 0

企业打开云HBase的正确方式,来自阿里云云数据库团队的解读

摘要: 一、HBase的历史由来 HBase是一个开源的非关系型分布式数据库(NoSQL),基于谷歌的BigTable建模,是一个高可靠性、高性能、高伸缩的分布式存储系统,使用HBase技术可在廉价PC Server...

阿里云云栖社区 ⋅ 05/31 ⋅ 0

八年磨一剑,阿里云HBase做到性能和稳定性提升10倍!

6月6日,阿里云宣布云数据库HBase版 正式公测2.0版本。新2.0版本相比1.x版本通过架构级别的优化,在性能,稳定性相比1.x版本带来10x的提升,并结合阿里集团长达8年的实践经验,将HBase这个为...

所在jason ⋅ 06/12 ⋅ 0

中国HBase技术社区第一届meetup入群邀请

各位报名成功的HBase爱好者,请扫描以下微信二维码,加入本次HBase meetup消息通知群,后续会议相关通知,会在群里进行公布,请各位及时关注。 会议地址:北京望京阿里中心B座(各位6号到园区...

wenzi0563 ⋅ 05/31 ⋅ 0

中国HBase技术社区成员招募中

HBase是一个分布式的面向列的开源数据库,是大数据生态圈中非常重要的一环,主要应用在大数据量(PB级)存储及超大规模(千万级QPS)随机读写访问。 为了让众多HBase相关从业人员及爱好者有一...

wenzi0563 ⋅ 05/31 ⋅ 0

阿里云HBase安全系列-初体验

概述简介 阿里云HBase安全包括多方面的措施,主要构成部分有:网络隔离,白名单,身份认证,权限控制,数据加密等,具体介绍可参考文章底部链接。本文主要是阿里云HBase安全实战体验篇,介绍...

HBase技术社区 ⋅ 04/13 ⋅ 0

中国HBase技术社区第一届MeetUp-HBase2.0研讨圆桌会

HBase Committers&各公司HBase负责人 出席嘉宾(排名不分次序): 封神(HBase Committer,阿里) 天梧(HBase Committer,阿里) 陈恒(HBase Committer,蚂蚁金服) 李钰(HBase PMC,阿里) 王锋(奇...

wenzi0563 ⋅ 06/14 ⋅ 0

中国HBase技术社区第一届Meetup资料大合集

2018年6月6号,由中国HBase技术社区组织,阿里云主办的中国第一次HBase Meetup在北京望京阿里中心举行,来自阿里、小米、滴滴、360等公司的各位HBase的PMC、committer共聚一堂,共同探讨HBa...

wenzi0563 ⋅ 06/14 ⋅ 0

八年磨一剑,重新定义HBase——HBase 2.0&阿里云HBase解读

摘要:2018年6月6日,阿里云ApsaraDB for HBase2.0正式发布!从2010年开始“试水”到2018年,拥有了3个PMC,6个Committer,拥有中国最多HBase Committer的公司之一的阿里巴巴是如何八年磨一剑...

Mr_zebra ⋅ 06/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部