Hbase
文章平均质量分 78
Wally@Web3.0
Make Web3.0 native app development easier
展开
-
java对hbase的基本操作,新版API实验
本文中的实验时基于hbase0.98版的原创 2014-07-21 16:51:42 · 1323 阅读 · 0 评论 -
HBase createTable 的服务器端实现源码分析
HBase的所有请求调用都是通过RPC的机制进行的,RPCServer监听到请求之后会解析请求内容,然后根据解析的方法以及参数调用服务器端实际的方法,这也是远程代理模式的经典做法,createTable的请求最终实现是在HMaster中的,但是实际的表的建立过程是在CreateTableHandler类中的,接下来主要就HBase中表的建立过程进行详细分析。1. HMaster的createTab原创 2015-04-17 14:00:38 · 2026 阅读 · 0 评论 -
HBase1.0.0源码分析之请求处理流程分析以Put操作为例(二)
HBase1.0.0源码分析之请求处理流程分析以Put操作为例(二)1.通过mutate(put)操作,将单个put操作添加到缓冲操作中,这些缓冲操作其实就是Put的父类的一个List的集合。如下: private List<Row> writeAsyncBuffer = new LinkedList<>(); writeAsyncBuffer.add(m);当writeAsyncBu原创 2015-04-13 22:17:06 · 1502 阅读 · 0 评论 -
HBase1.0.0源码分析之请求处理流程分析以Put操作为例(一)
如下面的代码所示,是HBase Put操作的简单代码实例,关于代码中的Connection connection = ConnectionFactory.createConnection(conf),原创 2015-04-13 17:10:32 · 1639 阅读 · 1 评论 -
HBase1.0.0源码分析之Client启动连接流程
我们知道在使用HBase的过程中首要的是和服务器端取得链接,那么客户端是如何去链接的,它是怎么找到master和regionserver的? 参与该过程中的主要组件又有哪些?这些组件之间是如何协同工作的呢? 今天就让我们来一起解析.原创 2015-04-01 10:39:36 · 1714 阅读 · 0 评论 -
HBase1.0.0版源码分析之HMaster启动代码分析(2)
在上一片博客中我的代码分析是到startMaster这个核心的启动函数,本文主要分析具体的HMaster构造过程中所涉及的相应组件以及服务的启动,这篇文章也主要是从流程上进行分析,具体的每个部分的启动过程稍后的文章将会详细分析,主要包括的几个核心过程有:RPC服务的创建,zookeeper集群管理类的初始化,各种工作线程的启动等在介绍的开始,有必要了解一下HMaster的继承体系,如下图:原创 2015-03-23 14:54:36 · 1569 阅读 · 0 评论 -
HBase1.0.0的RPC机制分析与源码解读(一)
HBase的RPC机制,除了使用protocal buf的工具之外都是利用java的原生API进行构造,RPC机制的解读包括客户端和服务器端两个部分,本文主要就服务器端的服务运行机制以及工作流程进行简要分析.首先我们来分析一下一个典型的RPC服务器短的处理流程,如下图所示:从图中可以清楚的看到当客户端向服务器端发送一个请求的时候,最开始是被RPCServer中的Listener所监原创 2015-03-30 15:03:52 · 1459 阅读 · 0 评论 -
HBase1.0.0版源码分析之HMaster启动代码分析(1)
本文其实还算不上真正的启动代码解析,本文主要还是从启动流程上分析到startHMaster部分,初次之外本文将就HBase的伪分布式调试方式进行相关的介绍.我们将源码倒入到Intellij IDE之后会得到如下的代码结构:这里我们进入hbase-server中在src/main下面的resources中添加hadoop-metrics2-hbase.properties,hbase原创 2015-03-21 11:11:50 · 1657 阅读 · 0 评论 -
hbase filter的使用0.98.X
HBase的查询基本上就是Get和Scan两个方法原创 2014-07-30 09:12:31 · 1491 阅读 · 0 评论 -
HRegionServer Flush操作源码分析
Flush操作是将HBase中的数据存到硬盘上的过程,具体的flush的流程图如下,本文主要简要分析flush的过程相关源码。 Flush 任务提交每当HRegion完成数据插入的操作的时候,就会进行检查此时是否需要进行一次flush,flush是将HRegion缓存的数据存储到磁盘的过程:long addedSize = doMiniBatchMutation(batchOp);long ne原创 2015-05-06 09:31:53 · 1768 阅读 · 0 评论