`
kirayuan
  • 浏览: 38894 次
文章分类
社区版块
存档分类
最新评论
文章列表
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 ...
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 ...
hbase入库过程中,除了hbase-site.xml中的一些常见的配置参数,其实很关键的一个环节是hbase-env.sh中的jvm参数配置。之前修改的一个重要参数就是新生代的大小。 在大规模写入数据的试验中,我们分别将每个Regionserver的新生代内存配置为不同大小(总大小为32GB),入库一段时间后,通过jstat命令查看每台机器的三个运行状态,YGC,FGC,GCT,绘制出以下性能图形:(横轴为新生代内存配置大小,纵轴分别为三个参数的实际取值,GCT单位秒,YGC,FGC单位为次) 对于图中所显示的,yong gc次数随着新生代内存的增加显著下降,而fullGC也略为下 ...
最近在写基于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 ...
目前系统上线,不断的有新问题,也不断的在总结一些经验,发在这里,做下mark,同时也为hbase使用者提供一些思路吧。 1、单条rowkey下虽然能支持百万列,但是建议不要这么做,因为真正一个rowkey下挂了这么多数据时会在两个地方出现问题,一是查询时单行记录数据量过大,client超时;第二个问题是regionserver做compact的过程有可能被单条rowkey的数据塞满内存造成OOM 2、datanode的handler的数量不要默认值,太少,要在100左右,另外regionserver的handler的数量在200左右比较合适 3、resultScannser使用完毕记得关闭 ...
二级索引与索引Join是多数业务系统要求存储引擎提供的基本特性,RDBMS早已支持,NOSQL阵营也在摸索着符合自身特点的最佳解决方案。 这篇文章会以HBase做为对象来讨论如何基于Hbase构建二级索引与实现索引join。文末同时会列出目前已知的包括0.19.3版secondary index,ITHbase, Facebook方案和官方Coprocessor的介绍。 理论目标在HBase中实现二级索引与索引Join需要考虑三个目标: 1,高性能的范围检索。 2,数据的低冗余(存储所占的数据量)。 3,数据的一致性。 性能与数据冗余,一致性是相互制约的关系。 如果你实现了高性能地 ...
由于要使用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根目录下执行 ...
接着前一篇文章所说,在hbase入库效率上有较大作用的几个因素 一、writebuffersize大小的设置,太大和太小都会使速度下降。原因是太大每次提交数量大,提交频度下降;太小每次提交数量小,提交频度高。按照目前的测试结果来看64MB是一个理想值 二、硬盘配置,在底层的hadoop上不要对硬盘做raid,能够充分利用每块磁盘的使用效率 三、regionserver的flush大小,region最大size。这里flushsize尽量配大,4G,region最大size可以配很大,使得region尽量不去分裂 四、关闭wal,在测试的时候居然发现速度下降,具体原因还不清 ...
一、简介 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的开 ...
一、 简介 Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。 主要特性: 分布式 基于column的结构化 高伸展性 Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra群集来说,扩展性能 是比较简单的事情,只管在群集里面添加节点就可以了。 Cassandra是一个混合型的非关 ...
最近一直做系统优化,但从建模的角度今天有个小优化,原理比较简单,效果可能不是很大,但很有意思。 这种优化的好处是不用改变sql代码,对用户是透明的。 所以分享下。 - 由于hive在文件基础上,而会全部扫一个分区里 ...
在jvm中堆空间划分为三个代:年轻代(Young Generation)、年老代(Old Generation)和永久代(Permanent Generation)。年轻代和年老代是存储动态产生的对象。永久带主要是存储的是java的类信息,包括解析得到的方法、属性、字段等等。永久带基本不参与垃圾回收。我们这里讨论的垃圾回收主要是针对年轻代和年老代。具体如下图。 年轻代又分成3个部分,一个eden区和两个相同的survior区。刚开始创建的对象都是放置在eden区的。分成这样3个部分,主要是为了生命周期短的对象尽量留在年轻带。当eden区申请不到空间的时候,进行minorGC,把存活的对 ...
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. ...
今天配置hbase的时候发现有几台机器的regionserver启不来。报错如下: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAcc ...
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 ...
Global site tag (gtag.js) - Google Analytics