HBase优化

作者: 小小少年Boy | 来源:发表于2018-08-08 13:19 被阅读0次

HBase优化

1、垃圾回收优化
使用CMS垃圾回收机制
2、启用压缩
GZIP、Snappy、LZO,推荐Snappy
3、MemStore缓存配置

4、Region拆分和合并
预建分区,避免自动split,提高hbase响应速度
5、Region均衡
避免出现Region热点现象,按照table级别进行balance
6、尽量只用1-3个列族
定期建表,如每月中旬建立下一个月的表,表名中含有年月

RowKey设计

1、保证唯一性
2、长度越短越好(加快再内存缓存时进行检索的效率)
3、散列:(散列+时间戳 或者 MD5加密后取前六位)

  • rowkey均匀分布在各个hbase节点上,用MD5(用户ID/手机号/QQ号)取前几位+ (用户ID/手机号/QQ号) +发生时间(毫秒)+随机数,把数据打散到各Region;
  • 没有散列值,如时间字段作为Rowkey的起始,会导致热数据集中在一个RegionServer上;
  • 同一次查询的数据存储在一起;

提前对表进行分区,防止Region Split
Region数量计算
确定按年/季/月建表,如果数据量特别大,不能只有1个表
确定HFile最大大小,例如10G
假设有1个列族,1个月的数据有5T
则需要5T/(10G * 1)=512个Region

预建分区可以多估一点,分裂时写入或查询数据很缓慢

预分区?

在创建Hbase表的时候默认一张表只有一个region,所有的put操作都会往这一个region中填充数据,这时所有的负裁都在同一台机器上,当这个一个region过大时就会进行split。如果在创建hbase的时候就进行预分区则会减少当数据量猛增时由于region split带来的资源消耗。

HBase表的预分区需要紧密结合业务场景来选择分区的key值,每个region都有一个 startKey和一个endKey来表示该region存储的rowkey范围。如果知道hbase数据表的key的分布情况,就可以在建表的时候对hbase进行region的预分区,这样做的好处是防止太量数据插入的热点问题,提高数据插入的效率。

创建预分区有两种方法
1:采用Hbase自带的RegionSplitter()工具,它会通过MDS法生成MDS校验和,以此作为region的开始键;
2:使用自定义分区算法进行预分区

列簇设计原则???

1:列簇不宜过多,1~3个。跨列簇查询效率低下。同一个列簇的数据放在一起的,因为flush和compact是以region为单位的。
2:列簇的名字不宜过长
3:将经常一起查询的列放在一个列簇中

备注:因为列簇没有元数据的描述,所以想获取列簇的完整列名,则需要处理所有的行

相关文章

  • HBase学习笔记(二)

    HBase优化相关 HBase查询优化 1、设置scan缓存 scanner.SetCaching(10000) ...

  • 关于hbase、spark、hive使用时的优化问题

    一、Hbase的优化 1、JVM优化: 1)如:HBase RegionServer 的 Java 配置选项 -X...

  • HBase那些事

    HBase那些事 @(大数据工程学院)[HBase, Hadoop, 优化, HadoopChen, hbase]...

  • 103-BigData-31HBase优化

    上一篇:102-BigData-30HBase 三、HBase优化 3.1、高可用在HBase中Hmaster负责...

  • HBase优化

    HBase优化 1、垃圾回收优化使用CMS垃圾回收机制2、启用压缩GZIP、Snappy、LZO,推荐Snappy...

  • HBase 优化

    1 高可用 在 HBase 中 HMaster 负责监控 RegionServer 的生命周期,均衡 Region...

  • HBase优化

    1.1、高可用 在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServe...

  • hbase优化

    1、内存 年轻代年轻代最大值 java -Xmx256M -Xms256m -XX:NewSize=xxm -XX...

  • 尚硅谷大数据技术之HBase

    第7章 HBase优化 7.1 高可用 在HBase中Hmaster负责监控RegionServer的生命周期,均...

  • 万字长文详解HBase读写性能优化

    一、HBase 读优化 1. HBase客户端优化 和大多数系统一样,客户端作为业务读写的入口,姿势使用不正确通常...

网友评论

    本文标题:HBase优化

    本文链接:https://www.haomeiwen.com/subject/puntbftx.html