hbase的官方建议有哪些

发布时间:2021-12-09 13:43:57 作者:iii
来源:亿速云 阅读:142

这篇文章主要介绍“hbase的官方建议有哪些”,在日常操作中,相信很多人在hbase的官方建议有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”hbase的官方建议有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

    1、regionServer上region的个数:官方给出的建议是20-200个region,但是下面又说

    如何粗略计算regionServer上region:有个公式,
    

HBase 0.98.x

((RS Xmx) * hbase.regionserver.global.memstore.size) / (hbase.hregion.memstore.flush.size * (# column families))+

HBase 0.94.x

((RS Xmx) * hbase.regionserver.global.memstore.upperLimit) / (hbase.hregion.memstore.flush.size * (# column families))+

    貌似hbase.regionserver.global.memstore.size和 hbase.regionserver.global.memstore.upperLimit默认值都是0.4,也就是说如果我RS的内存分配16G,其他都是默认值,只有一个列族,0.98版本的一个region个数有51个,为什么这么计算?其实这是一种极限情况,hbase.regionserver.global.memstore.upperLimit其实这个参数的作用是防止内存占用过大,当ReigonServer内所有region的memstores所占用内存总和达到heap的40%时,HBase会强制block所有的更新并flush这些region以释放所有memstore占用的内存。这个公式是假设memstore达到最大值了,为了不发生上面的情况。 同upperLimit,只不过lowerLimit在所有region的memstores所占用内存达到Heap的35%时,不flush所有的memstore。它会找一个memstore内存占用最大的region,做个别flush,此时写更新还是会被block。lowerLimit算是一个在所有region强制flush导致性能降低前的补救措施。在日志中,表现为 “** Flush thread woke up with memory above low water.”
 

    参数调整会影响读写,如果写的压力大导致经常超过这个阀值,则调小读缓存hfile.block.cache.size增大该阀值,或者Heap余量较多时,不修改读缓存大小。
如果在高压情况下,也没超过这个阀值,那么建议你适当调小这个阀值再做压测,确保触发次数不要太多,然后还有较多Heap余量的时候,调大hfile.block.cache.size提高读性能
    参数调整会影响读写,(以下是经验之谈吧)如果写的压力大导致经常超过这个阀值,则调小读缓存hfile.block.cache.size,增大该阀值,或者Heap余量较多时,不修改读缓存大小。

    如果在高压情况下,也没超过这个阀值,那么建议你适当调小这个阀值再做压测,确保触发次数不要太多,然后还有较多Heap余量的时候,调大hfile.block.cache.size提高读性能
    hfile.block.cache.size表示storefile的读缓存占用Heap的大小百分比,0.2表示20%。该值直接影响数据读的性能。hbase.regionserver.global.memstore.upperLimit和这个参数一个影响写,一个影响读,如果两值加起来超过80-90%,会有OOM的风险。
 

    2、Maximum region size
    官方推荐maximum region size is 10-20Gb,5-10Gb is optimal.
    0.98版本后加入了一些优化机制,可以使得region size 更大。

到此,关于“hbase的官方建议有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 保护域名信息的建议有哪些?
  2. Hbase1.0.0-官方文档-java-api-基础

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

hbase

上一篇:JDBC连接Oracle数据库技巧有哪些

下一篇:Java中为什么需要内部类

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》