HBase调优

HBase调优,第1张

HBase调优

Hbase调优
    • 分区(重点)
    • Rowkey设计(重点)
    • In memory
    • Max Version
    • Compact&Split
    • BulkLoading(重点)

预分区(重点)

Hbase的预分区

Rowkey设计(重点)

rowkey的设计

In memory

创建表的时候,可以通过HColumnDescriptor.setInMemory(true)将表放到 RegionServer的缓存中,保证在读取的时候被cache命中。

Max Version

创建表的时候,可以通过HColumnDescriptor.setMaxVersions(int maxVersions)设置 表中数据的最大版本,如果只需要保存最新版本的数据,那么可以设置 setMaxVersions(1)。

Compact&Split

在Hbase中,数据在更新时首先写入WAL 日志(HLog)和内存(MemStore)中, MemStore中的数据是排序的,当MemStore累计到一定阈值时,由单独的线程flush到磁盘上,成为一个StoreFile。与此同时, 系统会在zookeeper中记录一个redo point,表示这个时刻之前的变更已经持久化了

StoreFile是只读的,一旦创建后就不可以再修改。因此Hbase的更新其实是不断追加的 *** 作。当一个Store中的StoreFile达到一定的阈值后,就会进行一次合并(major compact),将对同一个key的修改合并到一起,形成一个大的StoreFile,当StoreFile的大小达到一定阈值后,又会对 StoreFile进行分割(split),等分为两个StoreFile。

BulkLoading(重点)

bulkloading

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4667353.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-06
下一篇 2022-11-07

发表评论

登录后才能评论

评论列表(0条)

保存