HBASE 优化之REGIONSERVER】的更多相关文章

HBASE 优化之REGIONSERVER 一,概述 本人在使用优化regionserver的过程有些心得,借此随笔的机会,向大家介绍我的心得,有些是网上拿来的有些是自己在使用过程自己的经验,希望对大家有帮助,如有不同观点希望大家立即指正.本人使用的hbase版本是 HBase 1.2.0-cdh5.10.0.本文主要从regionserver的角度进行优化hbase,简单来书就是:使regionServer查询延迟更低,磁盘IO降低,系统更加稳定,提高吞吐能力,提升资源利用率,节约成本. 二.…
一. Hbase的region 我们先简单介绍下Hbase的架构和Hbase的region: 从物理集群的角度看,Hbase集群中,由一个Hmaster管理多个HRegionServer,其中每个HRegionServer都对应一台物理机器,一台HRegionServer服务器上又可以有多个Hregion(以下简称region).要读取一个数据的时候,首先要先找到存放这个数据的region.而Spark在读取Hbase的时候,读取的Rdd会根据Hbase的region数量划分stage.所以当r…
第6章 HBase API 操作6.1 环境准备6.2 HBase API6.2.1 判断表是否存在6.2.2 抽取获取 Configuration.Connection.Admin 对象的方法以及关闭资源的方法6.2.3 创建表(admin)6.2.4 删除表(admin)6.2.5 向表中插入数据(put)6.2.6 删除多行数据(delete)6.2.7 获取所有数据(scan)6.2.8 获取某一行数据(get)6.2.9 获取某一行指定“列族:列”的数据(get)6.3 MapRedu…
本文来自网易云社区. 背景 Datastream一直以来在使用HBase分流日志,每天的数据量很大,日均大概在80亿条,10TB的数据.对于像Datastream这种数据量巨大.对写入要求非常高,并且没有复杂查询需求的日志系统来说,选用HBase作为其数据存储平台,无疑是一个非常不错的选择. HBase是一个相对较复杂的分布式系统,并发写入的性能非常高.然而,分布式系统从结构上来讲,也相对较复杂,模块繁多,各个模块之间也很容易出现一些问题,所以对像HBase这样的大型分布式系统来说,优化系统运行…
1.预分区设计 真正存储数据的是region要维护一个区间段的rowkey startRow~endRowkey ->手动设置预分区 create 'user_p','info','partition',SPLITS => ['101','102','103','104'] 存在-∞ +∞ 第一个分区 -∞ ~ 101 第二个分区 101~102 第三个分区 102~103 第四个分区 103~104 第五个分区 104 ~ +∞ ->生成16进制序列预分区 create 'user_p…
1.HBase预分区 HBase在创建表时,默认会自动创建一个Region分区.在导入数据时,所有客户端都向这个Region写数据,直到这个Region足够大才进行切分.这样在大量数据并行写入时,容易引起单点负载过高,从而影响入库性能.一个好的方法是在建立HBase表时预先分配数个Region,这样写入数据时,会按照Region分区情况,在集群内做数据的负载均衡.常用命令: --自定义预分区的RowKey hbase> create 't1', 'f1', SPLITS => ['10', '…
1.    预先分区 默认情况下,在创建 HBase 表的时候会自动创建一个 Region 分区,当导入数据的时候,所有的 HBase 客户端都向这一个 Region 写数据,直到这个 Region 足够大了才进行切分.一种可以加快批量写入速度的方法是通过预先创建一些空的 Regions,这样当数据写入 HBase 时,会按照 Region 分区情况,在集群内做数据的负载均衡. HBase之五:hbase的region分区 2.    Rowkey优化 HBase 中 Rowkey 是按照字典序…
1.JVM参数优化: –Xmn=12G –Xms=24G  -Xmx=24G  根据实际机器情况调整,一般为整个机器内存的一半,同时建议regionServer的堆内存建议不要超过32G ; -XX:PermSize=512M -XX:MaxPermSize=512M; -XX:+UseConcMarkSweepGC -XX:+UseParNewGC (建议使用CMS垃圾收集器, 其它JVM参数使用默认比较好) 2.HBase客户端使用优化: 用表池或创建多个客户端,适当提高HBase客户端写入…
目录: 1,背景 2,GC 3,hbase cache 4,compaction 5,其他 1,背景 项目组中,hbase主要用来备份mysql数据库中的表.主要通过接入mysql binlog,经storm存储到hbase.由于是实时接入binlog写入,写的压力不是很大,主要是晚上离线计算的时候,需要将hbase中的表同步到HDFS中,这个时候对hbase的读性能以及全表扫描性能要求有些高,以尽量较少数据导入时间.由于之前时间仓促,以及对hbase了解有限等原因,hbase这块问题多多.当前…
一.服务端调优 1.参数配置 1).hbase.regionserver.handler.count:该设置决定了处理RPC的线程数量,默认值是10,通常可以调大,比如:150,当请求内容很大(上MB,比如大的put.使用缓存的scans)的时候,如果该值设置过大则会占用过多的内存,导致频繁的GC,或者出现OutOfMemory,因此该值不是越大越好. 2).hbase.hregion.max.fifilesize :配置region大小,0.94.12版本默认是10G,region的大小与集群…