- 浏览: 39753 次
最新评论
文章列表
Hbase在逻辑上的存储最小单位是Region,物理上来说事HFile。每个Region由多个HFile组成。那么,是否有一个推荐值,确定每台regionserver上运行多少个region,,每个region的size多大是最合适的呢?
看到《Hbase权威指南》中有一段话写道:
It is noted in the Bigtablepaper that the aim is to keep the region count between 10 to 1000 per serverand each at roughly 100-200MB in size. This r ...
- 2011-12-23 15:01
- 浏览 603
- 评论(0)
Compression
LZOor Snappy(20% better than LZO)——Block(default)
Serialization
AVROdidn’t work well——deserialization issue
Developedconfigurable serialization mechanism that uses JSON except Data type
Secondary Indexes
Wereusing ITHBase and IHBase from contrib——doesn’t work well
Redesign ...
- 2011-12-09 14:37
- 浏览 486
- 评论(0)
hbase入库过程中,除了hbase-site.xml中的一些常见的配置参数,其实很关键的一个环节是hbase-env.sh中的jvm参数配置。之前修改的一个重要参数就是新生代的大小。
在大规模写入数据的试验中,我们分别将每个Regionserver的新生代内存配置为不同大小(总大小为32GB),入库一段时间后,通过jstat命令查看每台机器的三个运行状态,YGC,FGC,GCT,绘制出以下性能图形:(横轴为新生代内存配置大小,纵轴分别为三个参数的实际取值,GCT单位秒,YGC,FGC单位为次)
对于图中所显示的,yong gc次数随着新生代内存的增加显著下降,而fullGC也略为下 ...
- 2011-12-07 15:54
- 浏览 644
- 评论(0)
最近在写基于hbase的MR程序。总结如下:
1、使用TableMapper来读取表
2、写入表的第一种方式是用TableMapReduceUtil.initTableReducerJob的方法,这里既可以在map阶段输出,也能在reduce阶段输出。区别是Reduce的class设置为null或者实际的reduce 以下是一个表copy的例子:
package com.run.test;
import java.io.IOException;
import java.util.List;
import org.apache.hadoop.conf.Configurat ...
- 2011-11-22 17:22
- 浏览 838
- 评论(0)
目前系统上线,不断的有新问题,也不断的在总结一些经验,发在这里,做下mark,同时也为hbase使用者提供一些思路吧。
1、单条rowkey下虽然能支持百万列,但是建议不要这么做,因为真正一个rowkey下挂了这么多数据时会在两个地方出现问题,一是查询时单行记录数据量过大,client超时;第二个问题是regionserver做compact的过程有可能被单条rowkey的数据塞满内存造成OOM
2、datanode的handler的数量不要默认值,太少,要在100左右,另外regionserver的handler的数量在200左右比较合适
3、resultScannser使用完毕记得关闭 ...
- 2011-09-29 01:20
- 浏览 718
- 评论(0)
二级索引与索引Join是多数业务系统要求存储引擎提供的基本特性,RDBMS早已支持,NOSQL阵营也在摸索着符合自身特点的最佳解决方案。
这篇文章会以HBase做为对象来讨论如何基于Hbase构建二级索引与实现索引join。文末同时会列出目前已知的包括0.19.3版secondary index,ITHbase, Facebook方案和官方Coprocessor的介绍。
理论目标在HBase中实现二级索引与索引Join需要考虑三个目标:
1,高性能的范围检索。
2,数据的低冗余(存储所占的数据量)。
3,数据的一致性。
性能与数据冗余,一致性是相互制约的关系。
如果你实现了高性能地 ...
- 2011-08-31 11:25
- 浏览 482
- 评论(0)
由于要使用hbase的bulk load功能入库数据,而原始的HFileOutputFormat不支持多列族数据生成,在网上找到一个patch能够支持这个功能,为了给hbase打上这个补丁,网上查找了一下,方法如下:
hadoop打补丁的方式:
1. 在hadoop根目录下安装patch
patch -p0 < Hadoop-0.20.2-v1382.patch
2.如果需要回滚patch,恢复到以前的版本,可执行
patch -RE -p0 < Hadoop-0.20.2-v1382.patch
3.在hadoop根目录下执行 ...
- 2011-07-05 15:40
- 浏览 797
- 评论(0)
接着前一篇文章所说,在hbase入库效率上有较大作用的几个因素
一、writebuffersize大小的设置,太大和太小都会使速度下降。原因是太大每次提交数量大,提交频度下降;太小每次提交数量小,提交频度高。按照目前的测试结果来看64MB是一个理想值
二、硬盘配置,在底层的hadoop上不要对硬盘做raid,能够充分利用每块磁盘的使用效率
三、regionserver的flush大小,region最大size。这里flushsize尽量配大,4G,region最大size可以配很大,使得region尽量不去分裂
四、关闭wal,在测试的时候居然发现速度下降,具体原因还不清 ...
- 2011-06-30 17:32
- 浏览 223
- 评论(0)
一、简介
history
started by chad walters and jim
2006.11 G release paper on BigTable
2007.2 inital HBase prototype created as Hadoop contrib
2007.10 First useable Hbase
2008.1 Hadoop become Apache top-level project and Hbase becomes subproject
2008.10 Hbase 0.18,0.19 released
hbase是bigtable的开 ...
- 2011-06-14 16:43
- 浏览 274
- 评论(0)
一、 简介
Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。
主要特性:
分布式
基于column的结构化
高伸展性
Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。
Cassandra是一个混合型的非关 ...
- 2011-05-18 23:18
- 浏览 676
- 评论(0)
最近一直做系统优化,但从建模的角度今天有个小优化,原理比较简单,效果可能不是很大,但很有意思。
这种优化的好处是不用改变sql代码,对用户是透明的。
所以分享下。
-
由于hive在文件基础上,而会全部扫一个分区里 ...
- 2011-05-16 17:19
- 浏览 315
- 评论(0)
在jvm中堆空间划分为三个代:年轻代(Young Generation)、年老代(Old Generation)和永久代(Permanent Generation)。年轻代和年老代是存储动态产生的对象。永久带主要是存储的是java的类信息,包括解析得到的方法、属性、字段等等。永久带基本不参与垃圾回收。我们这里讨论的垃圾回收主要是针对年轻代和年老代。具体如下图。
年轻代又分成3个部分,一个eden区和两个相同的survior区。刚开始创建的对象都是放置在eden区的。分成这样3个部分,主要是为了生命周期短的对象尽量留在年轻带。当eden区申请不到空间的时候,进行minorGC,把存活的对 ...
- 2011-05-16 17:07
- 浏览 221
- 评论(0)
Typical ‘base’ configuration for a slave Node
– 4 x 1Tb hard drives, in a JBOD* configuration– Do not use RAID! (See later)– 2 x Quad-core CPUs, each 2.0GHz to 2.5GHz– 16Gb RAM– Gigabit Ethernet
翻译过来就是:
4块1TB硬盘,使用JBOD*配置(JBOD:http://baike.baidu.com/view/200148.htm)
不要使用RAID!
2块4核cpu,主频2.0-2. ...
- 2011-05-09 22:29
- 浏览 187
- 评论(0)
今天配置hbase的时候发现有几台机器的regionserver启不来。报错如下:
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAcc ...
- 2011-05-09 17:10
- 浏览 757
- 评论(0)
1. 安装rrdtool
1.1. 安装依赖包
Ø 拷贝CentOS软件包
将CentOS安装光盘中的rpm包拷贝到/root/下,以备使用。
Ø 安装zlib开发包
rpm -ivh /root/CentOS/zlib-devel-1.2.3-3.x86_64.rpm
Ø 安装freetype开发包:
rpm -ivh /root/CentOS/freetype-devel-2.2.1-21.el5_3.x86_64.rpm
Ø 安装libart开发包:
rpm -ivh /root/CentOS/libart_lgpl-devel-2.3.17-4.x86_64.rpm
...
- 2011-04-29 15:13
- 浏览 543
- 评论(0)