HBase优化

1.hbase的balance策略是region数量策略,即维持每个regionserver的region数量基本一致,这并未考虑一个table的region可能都落到一个refionserver的不好情况。这就需要开发者自己开发LoadBalancer插件。

有三种策略:

基于表Table级别的Balance

基于Region I/O负载的LoadBalancer插件

HDFS Block Locality的LoadBalancer插件

http://blogread.cn/it/article/5359?f=hot1

2.添加压缩

3.添加新的datanode,regionserver

时间: 2024-11-08 23:30:24

HBase优化的相关文章

网易视频云:HBase优化实战

网易视频云是网易倾力打造的一款基于云计算的分布式多媒体处理集群和专业音视频技术,提供稳定流畅.低时延.高并发的视频直播.录制.存储.转码及点播等音视频的PAAS服务,在线教育.远程医疗.娱乐秀场.在线金融等各行业及企业用户只需经过简单的开发即可打造在线音视频平台.现在,网易视频云的技术专家给大家分享一则技术文:HBase优化实战. 背景 Datastream一直以来在使用HBase分流日志,每天的数据量很大,日均大概在80亿条,10TB的数据.对于像Datastream这种数据量巨大.对写入要求

Spark 读取 Hbase 优化 --手动划分 region 提高并行数

一. Hbase 的 region 我们先简单介绍下 Hbase 的 架构和 region : 从物理集群的角度看,Hbase 集群中,由一个 Hmaster 管理多个 HRegionServer,其中每个 HRegionServer 都对应一台物理机器,一台 HRegionServer 服务器上又可以有多个 Hregion(以下简称 region).要读取一个数据的时候,首先要先找到存放这个数据的 region.而 Spark 在读取 Hbase 的时候,读取的 Rdd 会根据 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

HBase优化实战

本文来自网易云社区. 背景 Datastream一直以来在使用HBase分流日志,每天的数据量很大,日均大概在80亿条,10TB的数据.对于像Datastream这种数据量巨大.对写入要求非常高,并且没有复杂查询需求的日志系统来说,选用HBase作为其数据存储平台,无疑是一个非常不错的选择. HBase是一个相对较复杂的分布式系统,并发写入的性能非常高.然而,分布式系统从结构上来讲,也相对较复杂,模块繁多,各个模块之间也很容易出现一些问题,所以对像HBase这样的大型分布式系统来说,优化系统运行

hbase优化方向说明

如何对hbase用的好,怎么定义把hbase用的好?在保证系统稳定性.可用性的基础上能够用最少的系统资源(CPU,IO等)获得最好的性能(吞吐量,读写延迟)就是'用的好'.优化方向为:(1)HDFS相关配置优化,(2)HBase服务器端优化(GC优化.Compaction优化.硬件配置优化),(3)列族设计优化,(4)客户端优化等,其中第四点(4)客户端优化在前面已经通过超时机制.重试机制讲过,参考链接为:HBase客户端Rpc的重试机制以及客户端参数优化.:https://blog.51cto

Hbase优化总结

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客户端写入

HBase优化——读写优化

Hbase2.0查询优化 1)设置scan缓存 HBase中Scan查询可以设置缓存,方法是setCaching(),这样可以有效的减少服务端与客户端的交互,更有效的提升扫描查询的性能. Scan scan = new Scan(); scan.setCaching(1000); 2)显示的指定列 当使用Scan或者GET获取大量的行时,最好指定所需要的列,因为服务端通过网络传输到客户端,数据量太大可能是瓶颈.如果能有效过滤部分数据,能很大程度的减少网络I/O的花费. Scan scan = n

Hbase 优化参数

在Hbase使用中,除了进行预分区,rowkey合理的设计外,平时也会对系统的内置参数进行优化 1. 堆内存的优化 HBase-site.xml <!-- regionServer的全局memstore的大小,超过该大小会触发flush到磁盘的操作,默认是堆大小的40%,而且regionserver级别的 flush会阻塞客户端读写 --> <property> <name>hbase.regionserver.global.memstore.size</name

HBase 优化插入 Region预分配

预分Region 与 不预分Region 的测试: 1 不预分Region:       23~29秒插入100W数据   并且蛋疼的是每次都写入一个 RegionServer 且  只在一个 Region 相当于人为制造的网络风暴. 2 预分Region(3节点分了3个Region)     写入 18~19秒 100W 数据.  55555 每秒.(本机网络请求已满.否则应该线性增长) 下面是代码: (注释部分为不分 Region 的情况) package com.rocky.util; i