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": {