SLIDER 98. Add ganglia configuration support for hbase package
diff --git a/app-packages/hbase-v0_96/appConfig.json b/app-packages/hbase-v0_96/appConfig.json
index 6313045..568bbc0 100644
--- a/app-packages/hbase-v0_96/appConfig.json
+++ b/app-packages/hbase-v0_96/appConfig.json
@@ -17,6 +17,8 @@
     "site.global.hbase_regionserver_heapsize": "1024m",
     "site.global.user_group": "hadoop",
     "site.global.security_enabled": "false",
+    "site.global.ganglia_server_host": "${NN_HOST}",
+    "site.global.ganglia_server_port": "8663",
     "site.hbase-site.hbase.hstore.flush.retries.number": "120",
     "site.hbase-site.hbase.client.keyvalue.maxsize": "10485760",
     "site.hbase-site.hbase.hstore.compactionThreshold": "3",
diff --git a/app-packages/hbase-v0_96/package/scripts/hbase.py b/app-packages/hbase-v0_96/package/scripts/hbase.py
index 3ee0f41..ed6ec51 100644
--- a/app-packages/hbase-v0_96/package/scripts/hbase.py
+++ b/app-packages/hbase-v0_96/package/scripts/hbase.py
@@ -80,7 +80,11 @@
       group = params.user_group
     )
   
-  hbase_TemplateConfig( 'hbase-env.sh')     
+  hbase_TemplateConfig( 'hbase-env.sh')
+
+  hbase_TemplateConfig( params.metric_prop_file_name,
+                        tag = 'GANGLIA-MASTER' if name == 'master' else 'GANGLIA-RS'
+  )
        
   if params.security_enabled:
     hbase_TemplateConfig( format("hbase_{name}_jaas.conf"))
diff --git a/app-packages/hbase-v0_96/package/scripts/params.py b/app-packages/hbase-v0_96/package/scripts/params.py
index 6520525..0d8b04b 100644
--- a/app-packages/hbase-v0_96/package/scripts/params.py
+++ b/app-packages/hbase-v0_96/package/scripts/params.py
@@ -54,6 +54,9 @@
 master_jaas_config_file = default('hbase_master_jaas_config_file', format("{conf_dir}/hbase_master_jaas.conf"))
 regionserver_jaas_config_file = default('hbase_regionserver_jaas_config_file', format("{conf_dir}/hbase_regionserver_jaas.conf"))
 
+ganglia_server_host = default('/configurations/global/ganglia_server_host', '')
+ganglia_server_port = default('/configurations/global/ganglia_server_port', '8663')
+
 if security_enabled:
   
   _use_hostname_in_principal = default('instance_name', True)
diff --git a/app-packages/hbase-v0_96/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2 b/app-packages/hbase-v0_96/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2
index 2583f44..a3eb1fc 100644
--- a/app-packages/hbase-v0_96/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2
+++ b/app-packages/hbase-v0_96/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-MASTER.j2
@@ -33,21 +33,21 @@
 # hbase.class=org.apache.hadoop.metrics.ganglia.GangliaContext
 hbase.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
 hbase.period=10
-hbase.servers={{ganglia_server_host}}:8663
+hbase.servers={{ganglia_server_host}}:{{ganglia_server_port}}
 
 # Configuration of the "jvm" context for ganglia
 # Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter)
 # jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
 jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
 jvm.period=10
-jvm.servers={{ganglia_server_host}}:8663
+jvm.servers={{ganglia_server_host}}:{{ganglia_server_port}}
 
 # Configuration of the "rpc" context for ganglia
 # Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter)
 # rpc.class=org.apache.hadoop.metrics.ganglia.GangliaContext
 rpc.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
 rpc.period=10
-rpc.servers={{ganglia_server_host}}:8663
+rpc.servers={{ganglia_server_host}}:{{ganglia_server_port}}
 
 #Ganglia following hadoop example
 hbase.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
@@ -59,4 +59,4 @@
 .sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
 .sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
 
-hbase.sink.ganglia.servers={{ganglia_server_host}}:8663
+hbase.sink.ganglia.servers={{ganglia_server_host}}:{{ganglia_server_port}}
diff --git a/app-packages/hbase-v0_96/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-RS.j2 b/app-packages/hbase-v0_96/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-RS.j2
index 9f2b616..a3eb1fc 100644
--- a/app-packages/hbase-v0_96/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-RS.j2
+++ b/app-packages/hbase-v0_96/package/templates/hadoop-metrics2-hbase.properties-GANGLIA-RS.j2
@@ -33,21 +33,21 @@
 # hbase.class=org.apache.hadoop.metrics.ganglia.GangliaContext
 hbase.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
 hbase.period=10
-hbase.servers={{ganglia_server_host}}:8660
+hbase.servers={{ganglia_server_host}}:{{ganglia_server_port}}
 
 # Configuration of the "jvm" context for ganglia
 # Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter)
 # jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext
 jvm.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
 jvm.period=10
-jvm.servers={{ganglia_server_host}}:8660
+jvm.servers={{ganglia_server_host}}:{{ganglia_server_port}}
 
 # Configuration of the "rpc" context for ganglia
 # Pick one: Ganglia 3.0 (former) or Ganglia 3.1 (latter)
 # rpc.class=org.apache.hadoop.metrics.ganglia.GangliaContext
 rpc.class=org.apache.hadoop.metrics.ganglia.GangliaContext31
 rpc.period=10
-rpc.servers={{ganglia_server_host}}:8660
+rpc.servers={{ganglia_server_host}}:{{ganglia_server_port}}
 
 #Ganglia following hadoop example
 hbase.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31
@@ -59,4 +59,4 @@
 .sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both
 .sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40
 
-hbase.sink.ganglia.servers={{ganglia_server_host}}:8660
+hbase.sink.ganglia.servers={{ganglia_server_host}}:{{ganglia_server_port}}
diff --git a/app-packages/hbase-v0_96/resources.json b/app-packages/hbase-v0_96/resources.json
index e5d3b2d..9cc1b47 100644
--- a/app-packages/hbase-v0_96/resources.json
+++ b/app-packages/hbase-v0_96/resources.json
@@ -13,7 +13,7 @@
     },
     "HBASE_REGIONSERVER": {
       "yarn.role.priority": "2",
-      "yarn.omponent.instances": "1"
+      "yarn.component.instances": "1"
     }
   }
 }
\ No newline at end of file