文档章节

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

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

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

© 著作权归作者所有

共有 人打赏支持
王水起
粉丝 1
博文 8
码字总数 3478
作品 0
武汉
私信 提问
中国HBase技术社区第八届MeetUp ——HBase应用实践专场

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

阿里云栖开发者沙龙
11/13
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
docker入门到实战(9)docker快速安装hbase

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

编程老司机
05/14
0
0
HBase2.0商用首发--有哪些值得期待的新特性

【HBase生态+Spark社区大群】 1.技术交流钉钉大群【强烈推荐!】 群内每周进行群直播技术分享及问答 加入方式1: 点击链接申请加入 https://dwz.cn/Fvqv066s 加入方式2: 钉钉扫码加入: 2....

HBase技术社区
12/04
0
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

没有更多内容

加载失败,请刷新页面

加载更多

spring源码阅读笔记(一)

ClassPathXmlApplicationContext 与 FileSystemXmlApplicationContext 用了这么久的框架,是时候搞一下源码了,一般最初接触spring 从以下步骤开始 创建一个bean类 并创建 ooxx.xml之类的spr...

NotFound403
2分钟前
0
0
MySQL主从配置

12月14日任务 17.1 MySQL主从介绍 17.2 准备工作 17.3 配置主 17.4 配置从 17.5 测试主从同步 MySQL主从介绍 MySQL主从又叫做Replication、AB复制。简单将就是A/B两个服务器做主从后,在A上写...

robertt15
4分钟前
0
0
我的Linux系统九阴真经

在今天,互联网的迅猛发展,科技技术也日新月异,各种编程技术也如雨后春笋一样,冒出尖来了。各种创业公司也百花齐放百家争鸣,特别是针对服务行业,新型互联网服务行业,共享经济等概念的公...

问题终结者
17分钟前
4
0
Java 使用 gson 对 json 根据 key 键进行排序

引入Google的gson jar <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.0</version>......

yh32
18分钟前
1
0
Vue.use源码解析

什么是Vue插件 关于什么是Vue插件大家可以去看官网的解释 ,总得来说就是提供一个全局注册/调用的能力。 怎么用 我们以Weex为例。 首先有一个toast.js const Toast = {}Toast.install = (Vu...

peakedness丶
25分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部