关于Hbase的cache配置
在hbase中的hfilecache中,0.96版本中新增加了bucket cache,
bucket cache通过把hbase.offheapcache.percentage配置为0来启用,
如果hbase.offheapcache.percentage的配置值大于0时,直接使用堆外内存来管理hbase的cache,
通过把hfile.block.cache.size的值设置为0会禁用HBASE的cache功能。
首先在CacheConfig.instantiateBlockCache函数中。
1.首先检查hbase的hfile cache是否开启,如果设置为0表示禁用cache,同时配置不能大于1.0
float cachePercentage = conf.getFloat(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY,
HConstants.HFILE_BLOCK_CACHE_SIZE_DEFAULT);
if (cachePercentage == 0L) {
blockCacheDisabled = true;
return null;
}
if (cachePercentage > 1.0) {
throw new IllegalArgumentException(HConstants.HFILE_BLOCK_CACHE_SIZE_KEY +
" must be between 0.0 and 1.0, and not > 1.0");
}
2.检查 hbase.offheapcache.percentage是否是小于或等于0的值,如果是表示开启bucket cache
MemoryUsage mu = ManagementFactory.getMemoryMXBean().getHeapMemoryUsage();
long lruCacheSize = (long) (mu.getMax() * cachePercentage);
int blockSize = conf.getInt("hbase.offheapcache.minblocksize", HConstants.DEFAULT_BLOCKSIZE);
long offHeapCacheSize =
(long) (conf.getFloat("hbase.offheapcache.percentage", (float) 0) *
DirectMemoryUtils.getDirectMemorySize());
if (offHeapCacheSize <= 0) {
bucket cache......
}else {
使用堆外内存进行cache
}
3.bucket cache的具体配置
a.首先读取hbase.bucketcache.ioengine配置的值,可配置项为
file:/path/cache.data 基中的/path表示具体的文件路径,也就是SSD这类的高速磁盘
offheap 使用堆外内存
heap 不使用堆外内存
b.通过hbase.bucketcache.size配置cache的大小,
这里注意下规则;如果配置的值是0-1之间的小数时,表示hbase堆的百分比
否则表示配置的多少个MB的值,如此处配置为1024那么表示配置有1GB的cache
float bucketCachePercentage = conf.getFloat(BUCKET_CACHE_SIZE_KEY, 0F);
// A percentage of max heap size or a absolute value with unit megabytes
long bucketCacheSize = (long) (bucketCachePercentage < 1 ? mu.getMax()
* bucketCachePercentage : bucketCachePercentage * 1024 * 1024);
c.如果配置的为二级缓存,也就是非内存的缓存时,设置hbase.bucketcache.combinedcache.enabled的值为false
相关推荐
大数据技术基础实验报告-HBase安装配置和应用实践
指导手册06:HBase安装部署 hbase配置文件
Linux环境下Hbase单机配置超详细版本,图文教程
介绍hbase 权限配置。
hbase配置需要的配置文件已配置好,可以直接拿来用
HBase2集群配置.pdf HBase2集群配置.pdf HBase2集群配置.pdf HBase2集群配置.pdf
hbase配置内置的zookeeper;hbase配置内置的zookeeper;
HBase安装配置与实践: 1. HBase安装 1.2 将解压的文件名hbase-1.0.1.1改为hbase,以方便使用 1.3 配置环境变量 1.4添加HBase权限 1.5查看HBase版本,确定hbase安装成功 2. HBase配置 2.1伪分布式模式配置 接...
Linux下,基于Hadoop集群的Zookeeper、Hbase的安装及配置指导文档。 HBase作为Hadoop生态系统的一部分,是基于hadoop集群的HDFS之上的分布式数据库,HDFS为HBase提供了高可靠的底层存储支持和数据的持久化;hadoop...
HBase配置
hbase和zookeeper的详细配置
HBase配置文件若干配置.zip
HBase配置文件与HBase doc文档
hbase bucket cache 作者的设计文档
Hadoop+Zookeeper+Hbase安装配置使用.pdf
HBase官方指南——配置详解篇;HBase官方指南——配置详解篇
Hbase配置属性,Hbase配置属性,Hbase配置属性,Hbase配置属性
hbase_常用配置参数_以及学习笔记讲解_以及各种原理图
搭建hadoop框架中的hbase集群之前,先搭建单机的hbase,了解hbase的参数配置可以在后续搭建hbase集群节省时间
文档是我自己一步步完成实验写成的,给初学大数据的朋友共享一下希望能有所帮助