文档章节

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

王水起
 王水起
发布于 2017/08/28 19:11
字数 927
阅读 8
收藏 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
博文 8
码字总数 3478
作品 0
武汉
Hbase高可用(HA)安装笔记

这是在前一篇Hadoop 3.1.1高可用(HA)集群安装笔记 基础上,进行的操作. 安装HBase vim conf/hbase-site.xml vim conf/regionservers nn01启动 访问web页面 master regionServer http://maste...

张shieppp
09/28
0
0
hbase 数据库简介安装与常用命令的使用

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

flyfish225
04/12
0
0
hadoop2.6完全分布式安装HBase1.1

本文出自:http://wuyudong.com/archives/119 对于全分布式的HBase安装,需要通过hbase-site.xml文档来配置本机的HBase特性,由于各个HBase之间通过zookeeper来进行通信,因此需要维护一组z...

boonya
2015/05/26
0
0
docker入门到实战(9)docker快速安装hbase

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

编程老司机
05/14
0
0
一文让您全面了解清楚HBase数据库的所有知识点,值得收藏!

欢迎关注大数据和人工智能技术文章发布的微信公众号:清研学堂,在这里你可以学到夜白(作者笔名)精心整理的笔记,让我们每天进步一点点,让优秀成为一种习惯! 一、HBase基本概念:列式数据...

李金泽
03/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

javascript source map 的使用

之前发现VS.NET会为压缩的js文添加一个与文件名同名的.map文件,一直没有搞懂他是用来做什么的,直接删除掉运行时浏览器又会报错,后来google了一直才真正搞懂了这个小小的map文件背后的巨大...

粒子数反转
昨天
1
0
谈谈如何学Linux和它在如今社会的影响

昨天,还在农耕脑力社会,今天已经人工智能技术、大数据、信息技术的科技社会了,高速开展并迅速浸透到当今科技社会的各个方面,Linux日益成为人们信息时代的到来,更加考验我们对信息的处理程...

linux-tao
昨天
0
0
学习设计模式——中介者模式

1. 认识中介者模式 1. 定义:用一个中介对象来封装一系列的对象交互行为,中介者使得各对象不需要显式的互相引用,从而使其松散耦合,独立的改变他们之间的交互。 2. 结构: Mediator:中介者...

江左煤郎
昨天
1
0
深入理解Plasma(1):Plasma 框架

这一系列文章将围绕以太坊的二层扩容框架,介绍其基本运行原理,具体操作细节,安全性讨论以及未来研究方向等。本篇文章作为开篇,主要目的是理解 Plasma 框架。 Plasma 作为以太坊的二层扩容...

HiBlock
昨天
0
0
Java 8 日期 示例

Java 8 推出了全新的日期时间API。Java处理日期、日历和时间的方式一直为社区所诟病,将 java.util.Date设定为可变类型,以及SimpleDateFormat的非线程安全使其应用非常受限。Java也意识到需...

阿刚ABC
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部