HBase性能调优(1) 本章节介绍HBase性能调优。 合理的表设计与列族参数,能显著提升 HBase 的读写性能并节省存储。下面按"常用配置"与"场景建议"两部分说明。配置修改一般通过建表时指定,或对已有列族执行 alter 命令生效。 常用配置项 配置项 说明 设置示例 COMPRESSION 列族压缩算法。建议采用SNAPPY, alter 'test', NAME > 'cf', COMPRESSION > 'SNAPPY' DATABLOCKENCODING 数据块编码,减少行键重复。推荐 FASTDIFF。 alter 'test', NAME > 'cf', DATABLOCKENCODING > 'FASTDIFF' BLOOMFILTER Bloom 过滤器,减少随机点查的无效文件扫描。ROW 或 ROWCOL。 alter 'test', NAME > 'cf', BLOOMFILTER > 'ROW' TTL 数据存活时间,单位秒。到期数据在 Major Compaction 时被清理。 alter 'test', NAME > 'cf', TTL > 2592000 预分区 建表时按 RowKey 范围切分 Region,避免初始单 Region 热点。 create 'test', {NAME > 'f1'}, {NUMREGIONS > 50, SPLITALGO > 'HexStringSplit'} 说明 创建表时即可同时指定压缩与编码:create 't1', {NAME > 'f1', COMPRESSION > 'SNAPPY', DATABLOCKENCODING > 'FASTDIFF'}。修改已有列族的压缩或编码后,需等待 Compaction 执行方才真正生效。 注意 Major Compaction(大合并)周期参数 hbase.hregion.majorcompaction 默认 7 天,设为 0 表示关闭周期合并。大合并会消耗大量 IO 与 CPU,非必要不建议自行频繁修改;
来自: