Spark,hbase集群如何对jvm调优?

Spark:

 

1. 对于垃圾回收的性能问题,首先要做的就是,使用高效的数据结构。

2. 持久化RDD时,使用序列化的持久化级别,而且使用Kyro序列化类库,这样partition就只是一个对象,一个字节数组。

3. 给Eden区域分配更大的空间,使用-Xmn即可,通常建议给Eden区域,预计大小的4/3

如果使用的是HDFS文件,那么很好估计Eden区域的大小,如果每个executor有4个task,然后每个hdfs压缩块解压缩后大小是3倍,此外每个hdfs块的大小是64M,那么Eden区域的预计大小就是:4*3*64M,然后通过-Xmn参数,将Eden区域的大小设置为4*3*64*3/4。

 

Hbase: 

对垃圾回收的优化,RegionServer因为GC的原因不能分配太大的堆内存,20~24GB或者更小比较适合。堆的大小通过export HBASE_HEAPSIZE=xxx来设置。指定新生代的空间:-Xmn512m年

轻代的空间不能太小,也不能太大。太小的话容易在老生代中产生很多碎片,太大的话会使年轻代中的垃圾收集时间过长。HBase官网给出的一个建议是512M提高IHOP:-XX:InitiatingHeapOccupancyPercent=xx(默认为45)CMS收集器的优化,CMS工作时,不断有对象进入持久代,导致持久代空间不足,这时会放弃原本并行执行的垃圾收集,转而使用stop-the-world的复制算法。为了避免是由老年代内存碎片问题导致的空间不足问题。可以配置以下参数
-XX:CMSInitiatingOccupancyFraction=70
这个参数的意思是当老年代的空间分配了70%的时候就开始进行CMS垃圾收集在一定程度上避免提升失败

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据架构师Pony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值