hbase的master和regionserver的jvm调优

先调大堆内存

默认的RegionServer的内存才1GB,而Memstore默认是占40%,所以分配给Memstore的才400MB,在实际场景下,很容易就写阻塞了。可以通过指定HBASE_HEAPSIZE参数来调整所有HBase实例(不管是Master还是RegionServer)占用的内存大小。
修改$HBASE_HOME/conf/hbase-env.sh为
export HBASE_HEAPSIZE=8G
这个参数会影响所有HBase实例,包括Master和Region。这样的话Master和RegionServer都会占用8GB,建议用Master和RegionServer专有的参数来分别设定他们的内存大小。

PermSize的调整
hbase-env.sh中
在这里插入图片描述
提示
这两句配置的意思是Master和RegionServer的永久对象区(Permanent Generation,这个区域在非堆内存里面)占用了128MB的内存。根据注释的意思是这个配置存在的意义是为了在JDK 7下可以安全运行实例,所以如果你用的是JDK 8可以删掉这两行,并且由于JDK 8已经去除了PermGen,所以设置了也没用。

分别调master和regionserver的堆内村内存在这里插入图片描述

这样就把Master的JVM内存设置为4GB,把RegionServer的内存设置为8GB了。
提示:永远至少留10%的内存给操作系统来进行必要的操作。

如何根据机器的内存大小设置合适的Master或者RegionServer的内存大小

举例:
现在有一台16GB的机器,上面有MapReduce服务、RegionServer和DataNode(这三位一般都是装在一起的),那么建议按照如下配置设置内存:
2GB:留给系统进程。
8GB:MapReduce服务。平均每1GB分配6个Map slots + 2个
Reduce slots。
4GB:HBase的RegionServer服务。
1GB:TaskTracker。
1GB:DataNode。
如果同时运行MapReduce的话,Regi

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值