HBase单机RegionServer的JVM参数配置

HBase一般都是采用分布式的形式部署的,但是这样比较浪费服务器资源,除非是用在比较有价值的业务场景。一般单机部署时最好将HBase的各个服务以单独的进程运行,否则所有的服务都运行在HMaster进程中不好排查问题。因为在HBase中RegionServer承担了大部分的读写任务,所以需要将RegionServer的内存分配的更充足一些。

在conf/hbase-env.sh中进行配置RegionServer的参数

-Xmx3g -Xms3g -Xmn1g -Xss256k -XX:MaxPermSize=256m -XX:SurvivorRatio=2  -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:MaxTenuringThreshold=15 -XX:+UseCMSCompactAtFullCollection  -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:-DisableExplicitGC

注:如果以伪分布式的方式部署HBase时,hbase-env.sh中的关于jvm的配置有两套体系,一种时所有的HBase启动的服务都用相同的jvm配置,这个可以在hbase-env.sh中可以找到,它的配置项是’export HBASE_HEAPSIZE=1G’。当我们继续查看hbase-env.sh的时候会发现还有‘export HBASE_MASTER_OPTS’、‘export HBASE_REGIONSERVER_OPTS’、‘export HBASE_ZOOKEEPER_OPTS’这些配置项,根据不同的需求来配置不同实例的jvm参数。在《HBase应用架构》一书中作者提示不要讲这两套体系的配置混着用,但是没有说明原因。

在 “HBase单机RegionServer的JVM参数配置” 上有 3 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注