Ottomata has submitted this change and it was merged. Change subject: Adding support for ganglia metrics in hadoop-metrics2.properties ......................................................................
Adding support for ganglia metrics in hadoop-metrics2.properties Change-Id: I547a9c0faaeb2d937c506f57a271230c4fe64c06 --- M TODO.md M manifests/hadoop.pp M manifests/hadoop/defaults.pp A templates/hadoop/hadoop-metrics2.properties.erb 4 files changed, 62 insertions(+), 2 deletions(-) Approvals: Ottomata: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/TODO.md b/TODO.md index 9dac694..04e2dd2 100644 --- a/TODO.md +++ b/TODO.md @@ -2,7 +2,6 @@ ## Hadoop -- Add hadoop-metrics2.properties configuration - Add hosts.exclude support for decommissioning nodes. - Change cluster (conf) name? (use update-alternatives?) - Set default map/reduce tasks automatically based on facter node stats. @@ -12,6 +11,7 @@ - Support Secondary NameNode. - Support High Availability NameNode. - Make JMX ports configurable. +- Make hadoop-metrics2.properties more configurable. ## Hive - Hive Server + Hive Metastore @@ -24,3 +24,6 @@ ## Zookeeper +Won't implement. A Zookeeper package is available upstream in Debian/Ubuntu. +Puppetization for this package can be found at +https://github.com/wikimedia/operations-puppet-zookeeper diff --git a/manifests/hadoop.pp b/manifests/hadoop.pp index 49562a0..e974daf 100644 --- a/manifests/hadoop.pp +++ b/manifests/hadoop.pp @@ -37,6 +37,7 @@ # $yarn_nodemanager_resource_memory_mb # $yarn_resourcemanager_scheduler_class - If you change this (e.g. to FairScheduler), you should also provide your own scheduler config .xml files outside of the cdh4 module. # $use_yarn +# $ganglia_hosts - Set this to an array of ganglia host:ports if you want to enable ganglia sinks in hadoop-metrics2.properites # class cdh4::hadoop( $namenode_hostname, @@ -64,7 +65,8 @@ $mapreduce_final_compession = $::cdh4::hadoop::defaults::mapreduce_final_compession, $yarn_nodemanager_resource_memory_mb = $::cdh4::hadoop::defaults::yarn_nodemanager_resource_memory_mb, $yarn_resourcemanager_scheduler_class = $::cdh4::hadoop::defaults::yarn_resourcemanager_scheduler_class, - $use_yarn = $::cdh4::hadoop::defaults::use_yarn + $use_yarn = $::cdh4::hadoop::defaults::use_yarn, + $ganglia_hosts = $::cdh4::hadoop::defaults::ganglia_hosts, ) inherits cdh4::hadoop::defaults { @@ -129,4 +131,15 @@ ensure => $yarn_ensure, content => template('cdh4/hadoop/yarn-env.sh.erb'), } + + # render hadoop-metrics2.properties + # if we hav Ganglia Hosts to send metrics to. + $hadoop_metrics2_ensure = $ganglia_hosts ? { + undef => 'absent', + default => 'present', + } + file { "${config_directory}/hadoop-metrics2.properties": + ensure => $hadoop_metrics2_ensure, + content => template('cdh4/hadoop/hadoop-metrics2.properties.erb'), + } } diff --git a/manifests/hadoop/defaults.pp b/manifests/hadoop/defaults.pp index 3fc6c5d..373ca8e 100644 --- a/manifests/hadoop/defaults.pp +++ b/manifests/hadoop/defaults.pp @@ -26,4 +26,5 @@ $yarn_nodemanager_resource_memory_mb = undef $yarn_resourcemanager_scheduler_class = undef $use_yarn = true + $ganglia_hosts = undef } \ No newline at end of file diff --git a/templates/hadoop/hadoop-metrics2.properties.erb b/templates/hadoop/hadoop-metrics2.properties.erb new file mode 100644 index 0000000..9075e62 --- /dev/null +++ b/templates/hadoop/hadoop-metrics2.properties.erb @@ -0,0 +1,43 @@ +# NOTE: This file is managed by Puppet. + +# syntax: [prefix].[source|sink].[instance].[options] +# See javadoc of package-info.java for org.apache.hadoop.metrics2 for details + +# default sampling period, in seconds +*.period=10 + +<% if @ganglia_hosts +ganglia_hosts_string = ganglia_hosts.sort.join(',') +-%> +# +# Below are for sending metrics to Ganglia +# + +# for Ganglia 3.1 support +*.sink.ganglia.class=org.apache.hadoop.metrics2.sink.ganglia.GangliaSink31 + +*.sink.ganglia.period=10 + +# default for supportsparse is false +# *.sink.ganglia.supportsparse=true + +*.sink.ganglia.slope=jvm.metrics.gcCount=zero,jvm.metrics.memHeapUsedM=both +*.sink.ganglia.dmax=jvm.metrics.threadsBlocked=70,jvm.metrics.memHeapUsedM=40 + +namenode.sink.ganglia.servers=<%= ganglia_hosts_string %> +datanode.sink.ganglia.servers=<%= ganglia_hosts_string %> + +<% if use_yarn -%> +resourcemanager.sink.ganglia.servers=<%= ganglia_hosts_string %> +nodemanager.sink.ganglia.servers=<%= ganglia_hosts_string %> +<% else -%> +jobtracker.sink.ganglia.servers=<%= ganglia_hosts_string %> +tasktracker.sink.ganglia.servers=<%= ganglia_hosts_string %> +<% end -%> + +maptask.sink.ganglia.servers=<%= ganglia_hosts_string %> +reducetask.sink.ganglia.servers=<%= ganglia_hosts_string %> + +secondarynamenode.sink.ganglia.servers=<%= ganglia_hosts_string %> + +<% end -%> \ No newline at end of file -- To view, visit https://gerrit.wikimedia.org/r/67419 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I547a9c0faaeb2d937c506f57a271230c4fe64c06 Gerrit-PatchSet: 1 Gerrit-Project: operations/puppet/cdh4 Gerrit-Branch: master Gerrit-Owner: Ottomata <[email protected]> Gerrit-Reviewer: Ottomata <[email protected]> Gerrit-Reviewer: jenkins-bot _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
