`
hongs_yang
  • 浏览: 61128 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

关于Hbase的cache配置

阅读更多

关于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

0
0
分享到:
评论

相关推荐

    HBase配置

    `hbase.blockcache.size`配置全局BlockCache的大小,它用于缓存数据块以提高读取性能。`hbase.hregion.memstore.block.multiplier`控制内存中memstore的大小,防止过多数据堆积导致RegionServer崩溃。 10. **性能...

    hbase bucket cache

    ### HBase Bucket Cache:一种高效的缓存管理方案 #### 概述 HBase Bucket Cache 是一个针对 HBase 的块缓存实现,旨在解决 CMS(Concurrent Mark Sweep)垃圾收集器和堆内存碎片带来的性能问题,并提供更大的缓存...

    分布式数据库HBase安装配置与实践.pdf

    随着数据量的增长,可能需要对HBase进行性能优化,如调整Region大小、设置合理的RowKey、利用BlockCache等。这需要根据具体应用场景来设定。 9. 监控与故障排查 了解如何监控HBase的性能和状态至关重要,可以使用...

    HBase配置项说明及调优建议.zip

    6. **缓存和预读配置**:`hbase.hregion.blockcache.size`设置了BlockCache的大小,提高读取性能。`hbase.client.scanner.caching`控制每次从RegionServer获取的行数,合理设置可以减少网络传输。 7. **负载均衡**...

    HBase配置项说明及调优建议.xlsx

    hbase 常用参数含义,默认值,调优建议(必须参数,split,compaction,blockcache,memstore flush,hlog,zookeeper,其他,等相参数名称、含义、默认值、调优建议)

    hbase 数据库

    11. **优化策略**:包括合理设置Region大小、预分区表、选择合适的Column Family、启用BlockCache等,以提升HBase的性能。 12. **安全配置**:在生产环境中,可能需要配置HBase与Kerberos进行集成,以实现身份验证...

    HBase 2.0 MOB 保存图片小视频利器-upload_HBase2.0MOB_

    这个阈值可以通过配置参数`hbase.mob.file.cache.size`来设置。同时,为了加快访问速度,HBase还提供了Mob Compaction机制,定期对Mob File进行合并,以减少读取时的磁盘I/O。 在HBase 2.0中,使用MOB存储图片和小...

    hbase的hbase-1.2.0-cdh5.14.2.tar.gz资源包

    5. **BlockCache**:配置BlockCache大小,缓存最近访问的数据,提高读取速度。 ### 总结 HBase是大数据处理领域的重要工具,尤其适合实时查询和大规模数据存储。理解并掌握HBase的核心概念、安装配置、数据模型...

    hbase资料_hbase-default.xml.zip

    5. **文件系统和缓存设置**:`fs.defaultFS`设定默认的HDFS文件系统,`hbase.hregion.blockmultiplier`控制BlockCache的大小,`hbase.hregion.memstore.block.multiplier`则用于控制MemStore的大小。 6. **客户端...

    hbase1.0.3_part1

    3. **实时查询**:HBase支持实时读写操作,通过内存缓存和BlockCache机制,提供了亚秒级的查询响应速度。 4. **稀疏性**:HBase可以存储大量的稀疏数据,即许多行或列可能存在大量缺失值,只存储有实际数据的位置,...

    hbase优化总结

    hbase优化总结 HBase 是一个基于列存储的 NoSQL 数据库,广泛应用于...HBase 的优化需要从多方面考虑,包括 Linux 系统、JVM 配置、HBase 配置等方面。通过合理的调整,可以提高 HBase 的性能,满足实际应用的需求。

    HBase堆外内存测试

    ### HBase堆外内存测试详解 #### 一、HBase BlockCache概述 HBase的BlockCache是一种...对于未来HBase的应用部署,建议根据实际业务需求和内存资源情况灵活选择合适的BlockCache配置方案,以期达到最佳的性能表现。

    Hbase数据库界面管理器

    10. **性能优化**:根据查询和操作的性能反馈,指导用户调整Hbase的配置参数,如Memstore大小、BlockCache设置等。 "**hbase-data-browser-v4.0-RC**"这个文件名可能是该管理器的一个特定版本,4.0代表主版本号,RC...

    hbase-2.0.0.3.0.0.0-1634-bin.tar.gz

    3. 性能调优:通过调整HBase的配置参数,如MemStore大小、BlockCache设置等,可以优化读写性能。 4. 监控与故障排查:Ambari提供了丰富的监控工具,包括HBase的CPU使用、磁盘I/O、网络流量等关键指标,帮助你及时...

    HBase MOB user guide

    &lt;name&gt;hbase.regionserver.hfile.mob.cache.enabled &lt;value&gt;true ``` #### 三、MOB文件管理 MOB功能引入了一种新的读写路径,即MOB文件。这些文件通过两种方式清理和压缩:过期MOB文件清理器和MOB压缩器。 ###...

    HBase的性能优化

    "HBase性能优化" HBase是一种高性能的NoSQL数据库,广泛应用于大数据存储和处理领域。然而,HBase的性能优化是非常重要的,特别是在大...HBase性能优化是非常重要的,需要根据实际情况调整各种参数和配置来提高性能。

    hbase权威指南源码

    同时,源码中的配置文件展示了如何配置HBase以适应不同的环境需求,这对于部署和管理HBase集群是非常有价值的。 总之,`hbase-book-master`源码不仅有助于理解HBase的基本工作原理,还为实际开发和运维提供了宝贵的...

    《Hbase权威指南》原版

    《HBase权威指南》这本书不仅为读者提供了关于HBase的基础知识和技术细节,还深入探讨了如何将HBase应用于实际场景中。对于想要了解或使用HBase的企业和个人来说,这是一本不可或缺的手册。无论是评估HBase是否适用...

    hbase的基本crud封装

    首先,要进行HBase的CRUD操作,我们需要对HBase进行基本的配置。在`hbase-site.xml`文件中,你需要指定`hbase.rootdir`参数,这是HBase的数据存储目录。这个路径根据个人环境会有所不同,通常是在HDFS中的一个路径,...

    hbase-1.3.1-bin.zip

    - 可通过调整配置参数优化性能,如Region大小、BlockCache设置等。 在解压“hbase-1.3.1-bin.zip”后,你可以找到启动和配置HBase所需的所有文件,包括bin目录下的可执行脚本、conf目录中的配置文件、lib目录中的...

Global site tag (gtag.js) - Google Analytics