HBase实用过程
文章平均质量分 58
主要讲解hbase在真正的项目使用过程中遇到的一些问题,以及解决方案,对于hbase的读写速度的优化也会详细讲解,希望能够申请到专栏,谢谢
刘啸尘-勤奋的小小尘
活泼开朗,
展开
-
FirstKeyOnlyFilter的使用方法及实例
FirstKeyOnlyFilter :api中解释如下: A filter that will only return the first KV from each row.This filter can be used to more efficiently perform row count operations. 说的明明白白,只会取得每条数据的第一个kv,可以用于coun原创 2012-08-17 18:01:03 · 8547 阅读 · 2 评论 -
hbase之htable线程安全性 HTablePool
在单线程环境下使用hbase的htable是没有问题,但是突然高并发多线程情况下就出现问题了,然后细看htable的api说明 Java代码 * This class is not thread safe for updates; the underlying write buffer can * be corrupted if multiple threads cont转载 2012-08-03 14:30:47 · 3867 阅读 · 0 评论 -
HTablePool实例代码
写了一个用HTablePool来做HTable连接池的代码,不对的地方请多指教直接上代码,仔细看看,应该不难看懂package com.pzoom.hbase.java;import java.io.IOException;import java.util.ArrayList;import org.apache.hadoop.conf.Configuration;imp原创 2012-08-03 14:56:59 · 2300 阅读 · 2 评论 -
Hbase 源码分析6 -- Regionserver上的 Get 全流程
当regionserver收到来自客户端的Get请求时,调用接口public Result get(byte[] regionName, Get get){...HRegion region = getRegion(regionName);return region.get(get, getLockFromId(get.getLockId()));...}我们看原创 2012-07-26 11:16:39 · 1927 阅读 · 0 评论 -
Hbase 源码分析5--Master启动过程
这几天看到hbase 0.90刚刚发布,于是研究了下Master的代码,这里做下记录分享,hbase的背景,可以了解下bigtable。hbase用到了很多zookeeper的技术,zookeeper这里不做展开,我也不太熟悉,感兴趣的可以自行了解下,也可以参考chubby。HMaster是整个hbase中,负载较低的一个服务,他通过zookeeper负责整个集群region和regionserv原创 2012-07-26 11:14:05 · 2545 阅读 · 0 评论 -
Hbase 源码分析4 - Get 流程及rpc原理
分析版本为hbase 0.94附上趋势团队画的图:rpc角色表:HBase通信信道HBase的通信接口客户端服务端HBase ClientMaster ServerHMasterInterfaceHBase ClientRegion ServerHRegionInterfaceRegion Se原创 2012-07-26 11:09:50 · 4902 阅读 · 0 评论 -
Hbase源码分析3-从Put到HFile
Hbase插入数据的过程大致是:客户端提交请求给region server(这中间会有作一些缓存)region server接收到请求,判断其实put请求,将其put到memstore每次memstore的操作,都会检查memstore是否操作一个阈值,如果超过,就开始执行flush(),这个flush其实就是从内存中的KeyValue对持久化到HStore(也就是HFile)上面好了原创 2012-07-26 11:09:01 · 3198 阅读 · 0 评论 -
HBase源码分析2 – RPC机制:客户端
先澄清一些本文中术语的涵意客户端 – 指的是HBase client API.提供了从用户程序连接到HBase后台服务器即Master server及Region server的功能服务端 – 即指的是HBase的Master server 及 Region server用户端 – 指用户程序.即对HBase client API的调用方.本篇的主要目的是说明RPC的客户端实现.解原创 2012-07-26 11:07:47 · 2174 阅读 · 0 评论 -
HBase 源码分析1 – RPC机制 : 基础
HBase采用了和Hadoop相同的RPC机制,作为它的主要通信手段.这是一个轻量的,不同于Java标准的RMI的一种方式.所以它的实现必须克服一些问题.如:1) 如何分配RPC角色和通信信道,使得RPC通信可以实现.2) 通信接口或协议的内容3) 如何传输对象(Object),即序列化.4) 传输,并发及会话控制5) 其它的保原创 2012-07-26 11:06:56 · 2804 阅读 · 0 评论 -
Hive与HBase的整合
开场白:Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类 (Hive Storage Handlers), 大致意思如图所示:口水: 对 hive_hbase-handler.jar 这个东东还有点兴趣,有空来磋磨一下。一、2个注意事项:1、需要的软件有 Hadoop、H翻译 2012-07-25 10:21:59 · 1802 阅读 · 5 评论 -
存入hbase的方法
1、通过mapreduce的方式存入hbase,只有map,其实reduce阶段也是一样的代码如下:import java.io.IOException; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.hadoop.原创 2012-07-23 10:16:50 · 1676 阅读 · 3 评论 -
HBase性能优化方法
1. 表的设计1.1 Pre-Creating Regions默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡。转载 2012-07-20 09:25:42 · 1083 阅读 · 0 评论 -
Hbase使用filter快速高效查询
本博客是hbase使用filter快速高效查询的方法,我会慢慢补齐几大Filters1、Comparision Filters 1.1 RowFilter1.2 FamilyFilter 1.3 QualifierFilter 1.4 ValueFilter 1.5 DependentColumnFilter2、Dedicated原创 2012-07-11 18:55:38 · 28853 阅读 · 4 评论 -
HBase单机配置
设置环境变量#set java environmentexport JAVA_HOME=/usr/lib/java/jdk1.6.0_31export JRE_HOME=/usr/lib/java/jdk1.6.0_31/jreexport HADOOP_HOME=/home/hadoop/hadoopexport CLASSPATH=$JAVA_HOME/原创 2012-06-28 18:46:36 · 1889 阅读 · 0 评论 -
hadoop单机配置
配置环境变量(/etc/profile)#set java environmentexport JAVA_HOME=/usr/lib/java/jdk1.6.0_31export JRE_HOME=/usr/lib/java/jdk1.6.0_31/jreexport HADOOP_HOME=/home/hadoop/hadoopexport CLASSPA原创 2012-06-28 18:42:15 · 2791 阅读 · 2 评论 -
HBase专题介绍6
我的废话1: 任何一项新技术并非救命稻草,一抹一擦立马药到病除的百宝箱,并非使用Spring或者NOSQL的产品就神乎其神+五光十色,如果那样基本是扯淡。同类 型产品中不管那种技术最终要达到的目的是一样的,通过新的技术手段你往往可能避讳了当前你所需要面对的问题,但过后新的问题又来了。也许回过头来看看还不 如在原来的基础上多动动脑筋 想想办法 做些改良可以得到更高的回报。翻译 2012-06-27 12:22:34 · 1106 阅读 · 0 评论 -
HBase专题介绍 5
在上一篇关于HBase的文章中曾经讲述过HBase在分布式中的架构,这篇文章将会讲述HBase在分布式环境中是如何排除单点故障的(SPFO),做一个小实验讲述HBase在分布式环境中的高可用性,亲眼看到一些现象,延伸一些思考的话题。先来回顾一下HBase主要部件: 1.HBaseMaster 2.HRegionServer 3.HBase Client 4翻译 2012-06-27 12:21:49 · 1299 阅读 · 0 评论 -
HBase专题介绍 4
前几篇文章讲述了 HBase的安装、Hbase命令和API的使用、HBase简单的优化技巧,《HBase入门篇4》这篇文章是讲述把HBase的数据放在HDFS上的点滴过程。目前对与HBase我是一个绝对的新手,如果在文章中有任何我理解有错误的地方请各位指正,谢谢。Ok,进行正题 ……… 在HBase中创建的一张表可以分布在多个Hregion,也就说一张表可以被拆分成多块,每一块称我翻译 2012-06-27 12:21:04 · 1022 阅读 · 0 评论 -
HBase专题介绍 3
前两篇文件分别说到了我在学习HBase中的一些入门经验,而《HBase 入门3》这篇文章浅显的从几个方面谈谈HBase的一些优化技巧,只能作为我学习笔记的一部分,因为学多了怕忘,留给自己以后看看。1 修改 linux 系统参数 Linux系统最大可打开文件数一般默认的参数值是1024,如果你不进行修改并发量上来的时候会出现“Too Many Open Files”的错误,导致整个H翻译 2012-06-27 12:20:18 · 1153 阅读 · 0 评论 -
HBase专题介绍 2
本篇文章讲述用HBase Shell命令 和 HBase Java API 对HBase 服务器 进行操作。在此之前需要对HBase的总体上有个大概的了解。比如说HBase服务器内部由哪些主要部件构成?HBase的内部工作原理是什么?我想学习任何一项知识、技术的态度不能只是知道如何使用,对产品的内部构建一点都不去关心,那样出了问题,很难让你很快的找到答案,甚至我们希望最后能对该项技术的领悟出自己的翻译 2012-06-27 12:19:34 · 1187 阅读 · 0 评论 -
HBase专题介绍 1
HBase是什么? HBase是Apache Hadoop中的一个子项目,Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就可以看到这些这些数据 存储文件夹的结构,还可以通过Map/Reduce的框架(算法)对HBase进行操作,如右侧的图所示:HBase在产品中还包含了Jetty,在HBase启动时采用嵌入式的方式来启动Jetty,因此可翻译 2012-06-27 11:54:53 · 2109 阅读 · 0 评论