zl程序教程

hbase系列

  • HBase系列文章(转)

    HBase系列文章(转)

    HBase概念学习(一)基本架构 HBase概念学习(二)JAVA API操作概览 HBase概念学习(三)Java API之CRUD(增查改删) HBase概念学习(四)Java API之扫描和过滤器 HBase概念学习(五)Java API之计数器 HBase概念学习(六)java API之HTable与HTablePool HBase概念学习(七)HBase与Mapreduce集成 HBa

    日期 2023-06-12 10:48:40     
  • hbase源码系列(一)Balancer 负载均衡

    hbase源码系列(一)Balancer 负载均衡

    看源码很久了,终于开始动手写博客了,为什么是先写负载均衡呢,因为一个室友入职新公司了,然后他们遇到这方面的问题,某些机器的硬盘使用明显比别的机器要多,每次用hadoop做完负载均衡,很快又变回来了。 首先我们先看HMaster当中怎么初始化Balancer的,把集群的状态穿进去,设置master,然后执行初始化。 //initialize load balancer this.balanc

    日期 2023-06-12 10:48:40     
  • hbase源码系列(二)HTable 探秘

    hbase源码系列(二)HTable 探秘

    hbase的源码终于搞一个段落了,在接下来的一个月,着重于把看过的源码提炼一下,对一些有意思的主题进行分享一下。继上一篇讲了负载均衡之后,这一篇我们从client开始讲吧,从client到master再到region server,按照这个顺序来开展,网友也可以对自己感兴趣的部分给我留言或者直接联系我的QQ。 现在我们讲一下HTable吧,为什么讲HTable,因为这是我们最常见的一个类,这是

    日期 2023-06-12 10:48:40     
  • hbase源码系列(三)Client如何找到正确的Region Server

    hbase源码系列(三)Client如何找到正确的Region Server

    客户端在进行put、delete、get等操作的时候,它都需要数据到底存在哪个Region Server上面,这个定位的操作是通过HConnection.locateRegion方法来完成的。 loc = hConnection.locateRegion(this.tableName, row.getRow());这里我们首先要讲hbase的两张元数据表-ROOT-和.META.表,它们一个

    日期 2023-06-12 10:48:40     
  • hbase源码系列(四)数据模型-表定义和列族定义的具体含义

    hbase源码系列(四)数据模型-表定义和列族定义的具体含义

    hbase是一个KeyValue型的数据库,在《hbase实战》描述它的逻辑模型【行键,列族,列限定符,时间版本】,物理模型是基于列族的。但实际情况是啥?还是上点代码吧。 HTableDescriptor tableDesc = new HTableDescriptor("test"); //日志flush的时候是同步写,还是异步写 tableDesc.setDurability(Dur

    日期 2023-06-12 10:48:40     
  • hbase源码系列(五)Trie单词查找树

    hbase源码系列(五)Trie单词查找树

    在上一章中提到了编码压缩,讲了一个简单的DataBlockEncoding.PREFIX算法,它用的是前序编码压缩的算法,它搜索到时候,是全扫描的方式搜索的,如此一来,搜索效率实在是不敢恭维,所以在hbase当中单独拿了一个工程出来实现了Trie的数据结果,既达到了压缩编码的效果,亦达到了方便查询的效果,一举两得,设置的方法是在上一章的末尾提了。 下面讲一下这个Trie树的原理吧。 树里

    日期 2023-06-12 10:48:40     
  • hbase源码系列(六)HMaster启动过程

    hbase源码系列(六)HMaster启动过程

    这一章是server端开始的第一章,有兴趣的朋友先去看一下hbase的架构图,我专门从网上弄下来的。 按照HMaster的run方法的注释,我们可以了解到它的启动过程会去做以下的动作。 * li 阻塞直到变成ActiveMaster * li 结束初始化操作 * li 循环 * li 停止服务并执行清理操作* /ol HMaster是没有单点问题是,因为它可以同时启动多个H

    日期 2023-06-12 10:48:40     
  • hbase源码系列(七)Snapshot的过程

    hbase源码系列(七)Snapshot的过程

    在看这一章之前,建议大家先去看一下snapshot的使用。可能有人会有疑问为什么要做Snapshot,hdfs不是自带了3个备份吗,这是个很大的误区,要知道hdfs的3个备份是用于防止网络传输中的失败或者别的异常情况导致数据块丢失或者不正确,它不能避免人为的删除数据导致的后果。它就想是给数据库做备份,尤其是做删除动作之前,不管是hbase还是hdfs,请经常做Snapshot,否则哪天手贱了。。

    日期 2023-06-12 10:48:40     
  • hbase源码系列(八)从Snapshot恢复表

    hbase源码系列(八)从Snapshot恢复表

    在看这一章之前,建议大家先去看一下snapshot的使用。这一章是上一章snapshot的续集,上一章了讲了怎么做snapshot的原理,这一章就怎么从snapshot恢复表。 restoreSnapshot方法位于HMaster当中,这个方法没几行代码,调用了SnapshotManager的restoreSnapshot方法。 // 检查meta表当中是否存在该表 if (Met

    日期 2023-06-12 10:48:40     
  • hbase源码系列(九)StoreFile存储格式

    hbase源码系列(九)StoreFile存储格式

    从这一章开始要讲Region Server这块的了,但是在讲Region Server这块之前得讲一下StoreFile,否则后面的不好讲下去,这块是基础,Region Sever上面的操作,大部分都是基于它来进行的。 HFile概述 HFile是HBase中实际存数据的文件,为HBase提供高效快速的数据访问。它是基于Hadoop的TFile,模仿Google Bigtable 架构中的SS

    日期 2023-06-12 10:48:40     
  • hbase源码系列(十)HLog与日志恢复

    hbase源码系列(十)HLog与日志恢复

    HLog概述 hbase在写入数据之前会先写入MemStore,成功了再写入HLog,当MemStore的数据丢失的时候,还可以用HLog的数据来进行恢复,下面先看看HLog的图。 旧版的HLog是实际上是一个SequceneFile,0.96的已经使用Protobuf来进行序列化了。从Writer和Reader上来看HLog的都是Entry的,换句话说就是,它的每一条记录就是一个Entr

    日期 2023-06-12 10:48:40     
  • hbase源码系列(十一)Put、Delete在服务端是如何处理?

    hbase源码系列(十一)Put、Delete在服务端是如何处理?

    在讲完之后HFile和HLog之后,今天我想分享是Put在Region Server经历些了什么?相信前面看了《HTable探秘》的朋友都会有印象,没看过的建议回去先看看,Put是通过MultiServerCallable来提交的多个Put,好,我们就先去这个类吧,在call方法里面,我们找到了这句。 responseProto = getStub().multi(controller, req

    日期 2023-06-12 10:48:40     
  • hbase源码系列(十二)Get、Scan在服务端是如何处理?

    hbase源码系列(十二)Get、Scan在服务端是如何处理?

    继上一篇讲了Put和Delete之后,这一篇我们讲Get和Scan, 因为我发现这两个操作几乎是一样的过程,就像之前的Put和Delete一样,上一篇我本来只打算写Put的,结果发现Delete也可以走这个过程,所以就一起写了。 我们打开HRegionServer找到get方法。Get的方法处理分两种,设置了ClosestRowBefore和没有设置的,一般来讲,我们都是知道了明确的rowkey

    日期 2023-06-12 10:48:40     
  • hbase源码系列(十三)缓存机制MemStore与Block Cache

    hbase源码系列(十三)缓存机制MemStore与Block Cache

    这一章讲hbase的缓存机制,这里面涉及的内容也是比较多,呵呵,我理解中的缓存是保存在内存中的特定的便于检索的数据结构就是缓存。 之前在讲put的时候,put是被添加到Store里面,这个Store是个接口,实现是在HStore里面,MemStore其实是它底下的小子。 那它和Region Server、Region是什么关系? Region Server下面有若干个Region,每个Reg

    日期 2023-06-12 10:48:40     
  • hbase源码系列(十四)Compact和Split

    hbase源码系列(十四)Compact和Split

    先上一张图讲一下Compaction和Split的关系,这样会比较直观一些。 Compaction把多个MemStore flush出来的StoreFile合并成一个文件,而Split则是把过大的文件Split成两个。 之前在Delete的时候,我们知道它其实并没有真正删除数据的,那总不能一直不删吧,下面我们就介绍一下它删除数据的过程,它就是Compaction。 在讲源码之前,先说一下

    日期 2023-06-12 10:48:40     
  • hbase源码系列(十五)终结篇&Scan续集-->如何查询出来下一个KeyValue

    hbase源码系列(十五)终结篇&Scan续集-->如何查询出来下一个KeyValue

    这是这个系列的最后一篇了,实在没精力写了,本来还想写一下hbck的,这个东西很常用,当hbase的Meta表出现错误的时候,它能够帮助我们进行修复,无奈看到3000多行的代码时,退却了,原谅我这点自私的想法吧。 在讲《Get、Scan在服务端是如何处理?》当中的nextInternal流程,它的第一步从storeHeap当中取出当前kv,这块其实有点儿小复杂的,因为它存在异构的Scanner(一

    日期 2023-06-12 10:48:40     
  • HBase 报错系列之region is not online

    HBase 报错系列之region is not online

    报错信息: ERROR org.apache.hadoop.hbase.regionserver.HRegionServer: Received CLOSE for a region which is not

    日期 2023-06-12 10:48:40     
  • HBase源码学习系列

    HBase源码学习系列

    转自:http://www.cnblogs.com/cenyuhai/tag/hbase%E6%BA%90%E7%A0%81%E7%B3%BB%E5%88%97/ (mark) hbase源码系列(十)HLog与日志恢复 HLog概述 hbase在写入数据之前会先写入MemStore,成功了再写入HLog,当MemStore的数据丢失的时候,还可以用HLog的数据来进行恢复,下面先看看

    日期 2023-06-12 10:48:40     
  • HBase学习系列

    HBase学习系列

    转自:http://www.aboutyun.com/thread-8391-1-1.html     问题导读: 1.hbase是什么? 2.hbase原理是什么? 3.hbase使用中会遇到什么问题? 4.如何通过eclipse,操作hbase? 5.hbase经常和哪些软件一起使用? 。。。。。。。。。。

    日期 2023-06-12 10:48:40     
  • 【HBase】HBase系列之HBase集成Phoenix及简单使用

    【HBase】HBase系列之HBase集成Phoenix及简单使用

    上一篇:HBase系列之HBase HA集群搭建 zlp Phoenix集成安装基本使用 Phoenix集成 Phoenix是构建在HBase上的一个SQL层ÿ

    日期 2023-06-12 10:48:40     
  • 【HBase】HBase系列之HBase HA集群搭建

    【HBase】HBase系列之HBase HA集群搭建

    上一篇:HBase系列之HBase高级篇——协处理器ObServer及EndPoint开发 指路牌 Hbase 架构 & HA架构宏观架构Table 和 RegionRegionSe

    日期 2023-06-12 10:48:40     
  • 【HBase】HBase系列之HBase高级篇——协处理器ObServer及EndPoint开发

    【HBase】HBase系列之HBase高级篇——协处理器ObServer及EndPoint开发

    上一篇:HBase系列之HBase Shell常用命令实战 指路牌 ObserverEndpoint Observer Observer 类似于传统数据库中的触发器

    日期 2023-06-12 10:48:40     
  • 【HBase】HBase系列之HBase Shell常用命令实战

    【HBase】HBase系列之HBase Shell常用命令实战

    上一篇:HBase系列之HBase概述及环境搭建 HBase HBase重要概念表-table命名空间-namespace行键-Row Key区域-Region列族-column family列限

    日期 2023-06-12 10:48:40     
  • 【HBase】HBase系列之HBase概述及环境搭建

    【HBase】HBase系列之HBase概述及环境搭建

    HBase Apache HBaseHBase简介特性环境构建架构草图单机搭建 技巧 Apache HBase HBase简介 Apache HBase是一个分布式、面向列的开源数据

    日期 2023-06-12 10:48:40