文档章节

Hbase 写工作机制

蓝狐乐队
 蓝狐乐队
发布于 2014/06/10 21:40
字数 300
阅读 49
收藏 0

客户端——MemStore——列族——Hfile

1、Hbase在执行写操作的时候,首先会将写动作记录在hlog,memstore中,只有在这两个地方都确认完成后才被记录操作成功。

Memstore是内存里面的缓冲区,Hbase在在写入硬盘之前会在这个缓冲区内积累,当MemStore的数据量达到阀值时,才开始向硬盘中写入,在列族中生成一个HFile文件,一个列族可以有多个HFile文件。

2、那么现在就面临一个问题,大型集群中出现故障很正常,如果MemStore没有来的急刷写,服务器挂掉了咋办?

Hbase采用的机制时在写动作完成之前写入wal,每一台服务器维护着一个  WAL文件,记录着发生的变化,直到在该文件中新纪录写入成功之后才被认为时成功,如果出现当机可以通过WAL 来恢复数据。不需要手动执行恢复。如果想禁用wal,  可以通过

Put p = new Put();

p.setWriteToWal(false);

来禁用。

如有错误大家积极提出,一同进步。


© 著作权归作者所有

蓝狐乐队
粉丝 107
博文 325
码字总数 94335
作品 0
昌平
程序员
私信 提问
Hadoop(4)--Hbase

Hadoop 其它组成角色介绍--Hbase 在apache的官方网站上,对于Hbase的定义是他是Hadoop的第一个分布式、可扩展的大数据存储的数据库,他的目标是将非常大的表托管到一个集群中进行相应的存储,...

spark009
2018/08/13
0
0
HBase原理之HBase MetaStore&Compaction剖析

1.概述 客户端读写数据是先从HBase Clienr获取RegionServer的元数据信息,比如Region地址信息。在执行数据写操作时,HBase会先写MetaStore,为什么会写到MetaStore。本篇文章将为读者剖析HBa...

HBase技术社区
2018/09/23
0
0
HBase实战之HBase BulkLoad批量写入数据

1.概述 在进行数据传输时,批量加载数据到HBase集群有多种方式,比如通过HBase API进行批量写入数据、使用Sqoop工具批量导数到HBase集群、使用MapReduce批量导入等。这些方式,导入数据的过程...

HBase技术社区
2018/10/02
0
0
HBase应用与发展之Apache HBase的现状和发展

HBase基本概念 HBase(Hadoop Database),是一个基于Google BigTable论文设计的高可靠性、高性能、可伸缩的分布式存储系统。 松散表结构(Schema free) 原生海量数据分布式存储 随机查询、范围...

HBase技术社区
2018/09/15
0
0
HBase常用操作之namespace

1、介绍 在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分。Apache HBase从0.98.0, 0.95.2两个版本开始支持namespace级别的授权操作,HBase...

dragon_tech
2019/01/08
66
0

没有更多内容

加载失败,请刷新页面

加载更多

ZhaoWei-2020-01-29

并发相关 1、并发编程三要素? (1)原子性 原子性指的是一个或者多个操作,要么全部执行并且在执行的过程中不被其他操作打断,要么就全部都不执行。 (2)可见性 可见性指多个线程操作一个共...

SuSheePark
18分钟前
43
0
用于除法时,“ /”和“ //”之间有什么区别?

将一个使用在另一个上是否有好处? 在Python 2中,它们似乎都返回相同的结果: >>> 6/32>>> 6//32 #1楼 它有助于阐明Python 2.x的行, /既不是下位划分也不是真正的划分。 当前接受的答案...

技术盛宴
18分钟前
41
0
微信小程序结构说明

一、微信小程序结构: 小程序框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生App体验服务 小程序框架提供了自己的视图层描述语言wxml和wxss以及JavaScript,并在视...

冥焱
22分钟前
48
0
AspectJ 切点指示器-03-execution

execution() 匹配满足某一匹配条件的目标方法的连接点 各个类最终结构图如下: 1、Factory package com.test.aspectj.expression;/** * 工厂接口 */public interface Factory {...

moon888
58分钟前
72
0
“ STL”和“ C ++标准库”有什么区别?

有人引起了我的注意, 这篇文章声称(我的意思是) STL术语被误用于指代整个C ++标准库,而不是指从SGI STL中获得的部分。 (...)它指的是“ STL”,尽管实际上仍然很少有人使用STL(它是S...

javail
今天
60
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部