You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by sw...@apache.org on 2015/03/18 02:31:43 UTC
ambari git commit: AMBARI-10111. Tune GC settings for HBase daemon.
(swagle)
Repository: ambari
Updated Branches:
refs/heads/branch-2.0.0 412285a9c -> e6c725980
AMBARI-10111. Tune GC settings for HBase daemon. (swagle)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e6c72598
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e6c72598
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e6c72598
Branch: refs/heads/branch-2.0.0
Commit: e6c7259801b3d34b254f954fd2d8d364662f72d0
Parents: 412285a
Author: Siddharth Wagle <sw...@hortonworks.com>
Authored: Tue Mar 17 18:31:27 2015 -0700
Committer: Siddharth Wagle <sw...@hortonworks.com>
Committed: Tue Mar 17 18:31:35 2015 -0700
----------------------------------------------------------------------
.../0.1.0/configuration/ams-hbase-env.xml | 27 +++++++++++++++++---
.../0.1.0/package/scripts/params.py | 14 +++++++---
.../stacks/HDP/2.0.6/services/stack_advisor.py | 4 +++
.../stacks/2.2/common/test_stack_advisor.py | 1 +
4 files changed, 38 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/e6c72598/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-hbase-env.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-hbase-env.xml b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-hbase-env.xml
index 88692a4..35f2a50 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-hbase-env.xml
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/configuration/ams-hbase-env.xml
@@ -44,13 +44,32 @@
<property>
<name>hbase_regionserver_xmn_ratio</name>
<value>0.2</value>
- <description>HBase RegionServer minimum heap size is calculated as a percentage of max heap size.</description>
+ <description>
+ HBase RegionServer minimum heap size is calculated as a percentage of
+ max heap size. If hbase_regionserver_xmn_max is defined, the ratio
+ will be used to calculate -Xmn setting.
+ </description>
</property>
<property>
<name>hbase_master_heapsize</name>
<value>1024m</value>
<description>HBase Master Heap Size</description>
</property>
+ <property>
+ <name>regionserver_xmn_size</name>
+ <value>256m</value>
+ <description>HBase RegionServer maximum value for young generation heap size.</description>
+ </property>
+ <property>
+ <name>hbase_master_xmn_size</name>
+ <value>256m</value>
+ <description>HBase Master maximum value for young generation heap size.</description>
+ </property>
+ <property>
+ <name>hbase_master_maxperm_size</name>
+ <value>128m</value>
+ <description>HBase RegionServer maximum value for perm heap size.</description>
+ </property>
<!-- hbase-env.sh -->
<property>
@@ -68,7 +87,7 @@ export HBASE_CONF_DIR=${HBASE_CONF_DIR:-{{hbase_conf_dir}}}
# Extra Java CLASSPATH elements. Optional.
export HBASE_CLASSPATH=${HBASE_CLASSPATH}
-# The maximum amount of heap to use, in MB. Default is 1000.
+# The maximum amount of heap to use, in MB. Default is 1000. Master heap size.
export HBASE_HEAPSIZE={{hbase_heapsize}}
# Extra Java runtime options.
@@ -85,8 +104,8 @@ export SERVER_GC_OPTS="-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -X
# More details at: http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html
#
# export HBASE_JMX_BASE="-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
-export HBASE_MASTER_OPTS="-Xmx{{master_heapsize}}"
-export HBASE_REGIONSERVER_OPTS="-Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}"
+export HBASE_MASTER_OPTS=" -XX:PermSize=64m -XX:MaxPermSize={{hbase_master_maxperm_size}} -Xms{{hbase_heapsize}} -Xmx{{hbase_heapsize}} -Xmn{{hbase_master_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly"
+export HBASE_REGIONSERVER_OPTS="-XX:MaxPermSize=128m -Xmn{{regionserver_xmn_size}} -XX:CMSInitiatingOccupancyFraction=70 -XX:+UseCMSInitiatingOccupancyOnly -Xms{{regionserver_heapsize}} -Xmx{{regionserver_heapsize}}"
# export HBASE_THRIFT_OPTS="$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10103"
# export HBASE_ZOOKEEPER_OPTS="$HBASE_JMX_BASE -Dcom.sun.management.jmxremote.port=10104"
http://git-wip-us.apache.org/repos/asf/ambari/blob/e6c72598/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py
index ab8b56a..2732965 100644
--- a/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py
+++ b/ambari-server/src/main/resources/common-services/AMBARI_METRICS/0.1.0/package/scripts/params.py
@@ -77,13 +77,19 @@ metrics_collector_heapsize = default('/configurations/ams-env/metrics_collector_
hbase_log_dir = config['configurations']['ams-hbase-env']['hbase_log_dir']
master_heapsize = config['configurations']['ams-hbase-env']['hbase_master_heapsize']
-
regionserver_heapsize = config['configurations']['ams-hbase-env']['hbase_regionserver_heapsize']
-regionserver_xmn_max = config['configurations']['ams-hbase-env']['hbase_regionserver_xmn_max']
-regionserver_xmn_percent = config['configurations']['ams-hbase-env']['hbase_regionserver_xmn_ratio']
-regionserver_xmn_size = calc_xmn_from_xms(regionserver_heapsize, regionserver_xmn_percent, regionserver_xmn_max)
+
+regionserver_xmn_max = default('configurations/ams-hbase-env/hbase_regionserver_xmn_max', None)
+if regionserver_xmn_max:
+ regionserver_xmn_percent = config['configurations']['ams-hbase-env']['hbase_regionserver_xmn_ratio']
+ regionserver_xmn_size = calc_xmn_from_xms(regionserver_heapsize, regionserver_xmn_percent, regionserver_xmn_max)
+else:
+ regionserver_xmn_size = config['configurations']['ams-hbase-env']['regionserver_xmn_size']
+pass
# For embedded mode
hbase_heapsize = master_heapsize
+hbase_master_xmn_size = config['configurations']['ams-hbase-env']['hbase_master_xmn_size']
+hbase_master_maxperm_size = config['configurations']['ams-hbase-env']['hbase_master_maxperm_size']
zookeeper_quorum_hosts = ','.join(ams_collector_hosts) if is_hbase_distributed else 'localhost'
http://git-wip-us.apache.org/repos/asf/ambari/blob/e6c72598/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
index a933d98..5e42b50 100644
--- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
+++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/stack_advisor.py
@@ -158,6 +158,7 @@ class HDP206StackAdvisor(DefaultStackAdvisor):
putAmsHbaseSiteProperty("hbase.regionserver.global.memstore.lowerLimit", 0.25)
putAmsHbaseSiteProperty("phoenix.query.maxGlobalMemoryPercentage", 20)
putTimelineServiceProperty("phoenix.query.maxGlobalMemoryPercentage", 30)
+ putHbaseEnvProperty("hbase_master_xmn_size", "512m")
elif totalHostsCount >= 100:
putHbaseEnvProperty("hbase_master_heapsize", "6144m")
putAmsEnvProperty("metrics_collector_heapsize", "4096m")
@@ -165,12 +166,15 @@ class HDP206StackAdvisor(DefaultStackAdvisor):
putAmsHbaseSiteProperty("hbase.regionserver.hlog.blocksize", 134217728)
putAmsHbaseSiteProperty("hbase.regionserver.maxlogs", 64)
putAmsHbaseSiteProperty("hbase.hregion.memstore.flush.size", 268435456)
+ putHbaseEnvProperty("hbase_master_xmn_size", "512m")
elif totalHostsCount >= 50:
putHbaseEnvProperty("hbase_master_heapsize", "2048m")
putAmsEnvProperty("metrics_collector_heapsize", "2048m")
+ putHbaseEnvProperty("hbase_master_xmn_size", "256m")
else:
putHbaseEnvProperty("hbase_master_heapsize", "1024m")
putAmsEnvProperty("metrics_collector_heapsize", "512m")
+ putHbaseEnvProperty("hbase_master_xmn_size", "128m")
def getConfigurationClusterSummary(self, servicesList, hosts, components):
http://git-wip-us.apache.org/repos/asf/ambari/blob/e6c72598/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py b/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py
index 33bac19..6ac94aa 100644
--- a/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py
+++ b/ambari-server/src/test/python/stacks/2.2/common/test_stack_advisor.py
@@ -675,6 +675,7 @@ class TestHDP22StackAdvisor(TestCase):
"properties": {
"hbase_master_heapsize": "1024m",
"hbase_regionserver_heapsize": "1024m",
+ "hbase_master_xmn_size": "128m"
}
},
"ams-env": {