Repository: ambari Updated Branches: refs/heads/trunk 4c69d631e -> bf0f4a9e4
AMBARI-7379. Add ability for Ganglia to create arbitrary clusters for metrics collection Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/bf0f4a9e Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/bf0f4a9e Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/bf0f4a9e Branch: refs/heads/trunk Commit: bf0f4a9e41ff58883f43cf6297e161c8bc6539c9 Parents: 4c69d63 Author: Sumit Mohanty <[email protected]> Authored: Wed Sep 17 20:09:34 2014 -0700 Committer: Sumit Mohanty <[email protected]> Committed: Thu Sep 18 07:19:15 2014 -0700 ---------------------------------------------------------------------- .../GANGLIA/configuration/ganglia-env.xml | 5 ++++ .../GANGLIA/package/scripts/ganglia_monitor.py | 4 ++-- .../services/GANGLIA/package/scripts/params.py | 24 ++++++++++++-------- .../stacks/HDP/2.2/role_command_order.json | 1 + 4 files changed, 22 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0f4a9e/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml index e42baa5..3328acf 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/configuration/ganglia-env.xml @@ -68,5 +68,10 @@ <value>4</value> <description>(-t) Specifies the number of threads used for writing RRD files. The default is 4. Increasing this number will allow rrdcached to have more simultaneous I/O requests into the kernel. This may allow the kernel to re-order disk writes, resulting in better disk throughput.</description> </property> + <property> + <name>additional_clusters</name> + <value> </value> + <description>Add additional desired Ganglia metrics cluster in the form "name1:port1,name2:port2". Ensure that the names and ports are unique across all cluster and ports are available on ganglia server host. Ambari has reserved ports 8667-8669 within its own pool.</description> + </property> </configuration> http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0f4a9e/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py index 96cfdda..ede1a0b 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/ganglia_monitor.py @@ -110,12 +110,12 @@ class GangliaMonitor(Script): for gmond_app in params.gmond_apps: generate_daemon("gmond", - name=gmond_app, + name=gmond_app[0], role="server", owner="root", group=params.user_group) generate_daemon("gmond", - name = gmond_app, + name = gmond_app[0], role = "monitor", owner = "root", group = params.user_group) http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0f4a9e/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py index e155122..bf36b93 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py +++ b/ambari-server/src/main/resources/stacks/HDP/2.0.6/services/GANGLIA/package/scripts/params.py @@ -31,11 +31,15 @@ ganglia_shell_cmds_dir = "/usr/libexec/hdp/ganglia" gmetad_user = config['configurations']['ganglia-env']["gmetad_user"] gmond_user = config['configurations']['ganglia-env']["gmond_user"] -gmond_app_str = default("/configurations/hadoop-env/enabled_app_servers", None) -gmond_apps = [] if gmond_app_str is None else gmond_app_str.split(',') -gmond_apps = [x.strip() for x in gmond_apps] -gmond_allowed_apps = ["Application1", "Application2", "Application3"] -gmond_apps = set(gmond_apps) & set(gmond_allowed_apps) +gmond_add_clusters_str = default("/configurations/ganglia-env/additional_clusters", None) +if gmond_add_clusters_str and gmond_add_clusters_str.isspace(): + gmond_add_clusters_str = None + +gmond_app_strs = [] if gmond_add_clusters_str is None else gmond_add_clusters_str.split(',') +gmond_apps = [] +for x in gmond_app_strs: + a,b = x.strip().split(':') + gmond_apps.append((a.strip(),b.strip())) if System.get_instance().os_family == "ubuntu": gmond_service_name = "ganglia-monitor" @@ -116,9 +120,9 @@ ganglia_cluster_names = { "hs_host": [("HDPHistoryServer", 8666)], "nimbus_hosts": [("HDPNimbus", 8649)], "supervisor_hosts": [("HDPSupervisor", 8650)], - "Application1": [("Application1", 8667)], - "Application2": [("Application2", 8668)], - "Application3": [("Application3", 8669)] + "ReservedPort1": [("ReservedPort1", 8667)], + "ReservedPort2": [("ReservedPort2", 8668)], + "ReservedPort3": [("ReservedPort3", 8669)] } ganglia_clusters = [] @@ -129,10 +133,10 @@ for key in ganglia_cluster_names: if not len(hosts) == 0: for x in ganglia_cluster_names[key]: ganglia_clusters.append(x) + if len(gmond_apps) > 0: for gmond_app in gmond_apps: - for x in ganglia_cluster_names[gmond_app]: - ganglia_clusters.append(x) + ganglia_clusters.append(gmond_app) ganglia_apache_config_file = "/etc/apache2/conf.d/ganglia.conf" ganglia_web_path="/var/www/html/ganglia" http://git-wip-us.apache.org/repos/asf/ambari/blob/bf0f4a9e/ambari-server/src/main/resources/stacks/HDP/2.2/role_command_order.json ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/stacks/HDP/2.2/role_command_order.json b/ambari-server/src/main/resources/stacks/HDP/2.2/role_command_order.json index 4144361..f8eb4c7 100644 --- a/ambari-server/src/main/resources/stacks/HDP/2.2/role_command_order.json +++ b/ambari-server/src/main/resources/stacks/HDP/2.2/role_command_order.json @@ -39,6 +39,7 @@ "DRPC_SERVER-START"], "FLUME_SERVICE_CHECK-SERVICE_CHECK": ["FLUME_HANDLER-START"], "FALCON_SERVICE_CHECK-SERVICE_CHECK": ["FALCON_SERVER-START"], + "SLIDER_SERVICE_CHECK-SERVICE_CHECK" : ["NODEMANAGER-START", "RESOURCEMANAGER-START"], "ZOOKEEPER_SERVER-STOP" : ["HBASE_MASTER-STOP", "HBASE_REGIONSERVER-STOP"], "HBASE_MASTER-STOP": ["HBASE_REGIONSERVER-STOP"], "NIMBUS-STOP" : ["SUPERVISOR-STOP", "STORM_UI_SERVER-STOP", "DRPC_SERVER-STOP"]
