Hbase
天地不仁以万物为刍狗
天之道,损有余而补不足
人之道,损不足以奉有馀
展开
-
Hbase的应用场景、原理及架构分析
Hbase概述 hbase是一个构建在HDFS上的分布式列存储系统。HBase是Apache Hadoop生态系统中的重要 一员,主要用于海量结构化数据存储。从逻辑上讲,HBase将数据按照表、行和列进行存储。 如图所示,Hbase构建在HDFS之上,hadoop之下。其内部管理的文件全部存储在HDFS中。与HDFS相比两者都具有良好的容错性和扩展性,都...转载 2018-06-22 00:06:18 · 453 阅读 · 0 评论 -
hbase的rowkey设计原则和实现方式
一:hbase的存储形式hbase的内部使用KeyValue的形式存在,其key是有rowkey:family:column:logTime,value是其存储的内容。其在region的是大多以升序的形式排列,唯一的是logtime是以降序的形式进行排列。所以,按照越靠近左边的信息越容易被检索到。其设计时,要考虑把重要的信息放左边,不重要的信息放到右边。这样可以提高查询数据的速度。这样...转载 2019-07-08 08:37:13 · 287 阅读 · 0 评论 -
HBase:HBase架构及读写流程
本篇博文从分析HBase架构开始,首先从架构中各个组成部分开始,接着从HBase写入过程角度入手,分析HFile的Compaction合并、Region的Split分裂过程及触发机制。架构分析1、HMaster负责管理HBase元数据,即表的结构、表存储的Region等元信息。 负责表的创建,删除和修改(因为这些操作会导致HBase元数据的变动)。 负责为HRegionServ...转载 2019-06-18 12:01:52 · 181 阅读 · 0 评论 -
HBase :HBase表结构及数据模型的理解
HBase适用场景首先在搞HBase之前我们要对其建立感性认识,其适用场景如下:并发、简单、随机查询。 (注:HBase不太擅长复杂join查询,但可以通过二级索引即全局索引的方式来优化性能,后续博文会进行讲解) 半结构化、非结构化数据存储。一般我们从数仓中离线统计分析海量数据,将得到的结果插入HBase中用于实时查询。HBase表结构这里以一个公司员工表为案例来讲解,此表中...转载 2019-06-18 11:40:18 · 368 阅读 · 0 评论 -
HBase二级索引实践(带你感受二级索引的力量)
hyper_table之前HBase SQL BulkLoad环节创建的,我们将数据通过BulkLoad方式导入预先分好Region的hyper_table表中。具体参考如下博文:HBase中利用SQL BulkLoad快速导入数据这里大家只要清楚此表结构即可,结构如下:hyper_table表结构 字段 rowkey num country rd 类型...转载 2019-06-18 11:17:40 · 502 阅读 · 0 评论 -
HBase :利用SQL BulkLoad快速导入海量数据
HBase BulkLoad概述直接用put命令将海量数据导入至HBase会耗费大量时间(HFile合并、Region分割等),而且用原生的put命令导入海量数据,会占用HRegionServer很多资源,HBase集群会变得压力山大,集群基本对外丧失写的能力。其实HBase中数据以HFile文件的形式存储于HDFS,所以我们可以绕过HBase put API,直接将数据加工成HFile文...转载 2019-06-18 10:55:20 · 580 阅读 · 0 评论 -
HBase Flush操作流程以及对读写服务的影响
HBase的Flush操作的触发条件:1)Manual调用,HRegionInterface#flushRegion,可以被用户态org.apache.hadoop.hbase.client.HBaseAdmin调用flush操作实现,该操作会直接触发HRegion的internalFlush。2)HRegionServer的一次更新操作,使得整个内存使用超过警戒线。警戒线是globalM...转载 2019-06-12 14:06:00 · 495 阅读 · 0 评论 -
通过BulkLoad的方式快速导入海量数据
摘要加载数据到HBase的方式有多种,通过HBase API导入或命令行导入或使用第三方(如sqoop)来导入或使用MR来批量导入(耗费磁盘I/O,容易在导入的过程使节点宕机),但是这些方式不是慢就是在导入的过程的占用Region资料导致效率低下,今天要讲的就是利用HBase在HDFS存储原理及MapReduce的特性来快速导入海量的数据HBase数据在HDFS下是如何存储的?HBas...转载 2019-06-17 18:22:19 · 166 阅读 · 0 评论 -
HBase 集群问题集 永久RIT(Region-In-Transition)问题
HBase 永久RIT(Region-In-Transition)问题:异常关机导致HBase表损坏和丢失,大量Regions 处于Offline状态,无法上线。问题1:启动HBase时,HBase Regionserver Web UI,一直停留在The RegionServer is initializing! 界面Initializing Master file system (s...转载 2019-06-20 11:56:05 · 1299 阅读 · 0 评论 -
HBase预写日志WAL机制
预写日志(Write-ahead log,WAL)最重要的作用是灾难恢复,一旦服务器崩溃,通过重放log,我们可以恢复崩溃之前的数据。如果写入WAL失败,整个操作也将认为失败。从上图看:1 客户端对数据执行一个修改操作,如put(),delete(),incr()等。2 每一个修改被封装到一个KeyValue对象实例,并通过RPC调用发送出来。3 上述调用成批地发送给含有匹配regio...转载 2019-06-03 17:13:44 · 1279 阅读 · 0 评论 -
HBase Web UI
HBase 简介Apache HBase™ is the Hadoop database, a distributed, scalable, big data store.应用场景(Use Case):-存储大数据billions of rows X millions of columns (TB/PB)-实时-随机读取以及写入real-time random write/re...转载 2019-06-03 15:46:09 · 7033 阅读 · 0 评论 -
InfluxDB 介绍、安装及基本使用
InfluxDB的简介InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。类似的数据库有Elasticsearch、Graphite等。功能特点基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等) 可度量性:你可以实时对大量数据进行计算 基于事件:它支持任意的事件数据基于事件:它支持任意的事件数据InfluxDB的主要特点...转载 2019-06-13 15:28:08 · 691 阅读 · 0 评论 -
Hbase的存储模型
LSM思想:LSM的基本思想是将修改的数据保存在内存,达到一定数量后在将修改的数据批量写入磁盘,在写入的过程中与之前已经存在的数据做合并。同B树存储模型一样,LSM存储模型也支持增、删、读、改以及顺序扫描操作。LSM模型利用批量写入解决了随机写入的问题,虽然牺牲了部分读的性能,但是大大提高了写的性能.因为小树先写到内存中,为了防止内存数据丢失,写内存的同时需要暂时持久化到磁盘,对应了HBa...转载 2019-06-13 11:20:11 · 650 阅读 · 0 评论 -
HBase API 和 基本操作
数据操作有关的HBase API有5个,分别是 Get(读),Put(写),Delete(删),Scan(扫描)和Increment(列值递增)hbase shell命令 描述 alter 修改列族(column family)模式 count 统计表中行的数量 create 创建表 descri...转载 2019-06-13 09:48:10 · 552 阅读 · 0 评论 -
HBase - ROOT 和 META 表结构 (region定位原理)
1. HBase读写流程上图是RegionServer数据存储关系图。上文提到,HBase使用MemStore和StoreFile存储对表的更新。数据在更新时首先写入HLog和MemStore。MemStore中的数据是排序的,当MemStore累计到一定阈值时,就会创建一个新的MemStore,并且将老的MemStore添加到Flush队列,由单独的线程Flush到磁盘上,成为一个Sto...转载 2019-06-12 17:00:23 · 1677 阅读 · 0 评论 -
Hbase的WAL机制 Write Ahead Log (WAL)
简介WAL(Write-Ahead-Log)预写日志是Hbase的RegionServer在处理数据插入和删除的过程中用来记录操作内容的一种日志。在每次Put、Delete等一条记录时,首先将其数据写入到RegionServer对应的HLog文件中去。客户端向RegionServer端提交数据的时候,会先写入WAL日志,只有当WAL日志写入成功的时候,客户端才会被告诉提交数据成功。如果写W...转载 2019-06-12 15:19:41 · 1032 阅读 · 0 评论 -
HBase在滴滴出行的应用场景和最佳实践
背景 对接业务类型 HBase是建立在Hadoop生态之上的Database,源生对离线任务支持友好,又因为LSM树是一个优秀的高吞吐数据库结构,所以同时也对接了很多线上业务。在线业务对访问延迟敏感,并且访问趋向于随机,如订单、客服轨迹查询。离线业务通常是数仓的定时大批量处理任务,对一段时间内的数据进行处理并产出结果,对任务完成的时间要求不是非常敏感,并且处理逻辑复杂,如天级别报表、安全和用户行为...转载 2018-06-22 00:24:23 · 163 阅读 · 0 评论 -
再谈全局网HBase八大应用场景
HBase概述HBase是一个分布式存储、数据库引擎,可以支持千万的QPS、PB级别的存储,这些都已经在生产环境验证,并且在广大的公司已经验证。特别是阿里、小米、京东、滴滴内部都有数千、上万台的HBase集群。选择一个技术的首要条件是对齐大公司,大公司会投入大量的人力去维护、改进、贡献社区。关于NewSQL与NoSQL的关系技术总是不断向前发展的,如今都在提NewSQL,其实NewSQ...转载 2019-07-31 14:04:50 · 133 阅读 · 0 评论