Ottomata has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/270027

Change subject: Fix hadoop_namenode_opts param, move hadoop logstash logging 
configs into separate class
......................................................................

Fix hadoop_namenode_opts param, move hadoop logstash logging configs into 
separate class

Change-Id: I11aba4281a5fcfdbd532d84defe1985026549fb9
---
M hieradata/eqiad/cdh/hadoop.yaml
M modules/role/manifests/analytics_cluster/hadoop/client.pp
A modules/role/manifests/analytics_cluster/hadoop/logstash.pp
3 files changed, 55 insertions(+), 39 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/27/270027/1

diff --git a/hieradata/eqiad/cdh/hadoop.yaml b/hieradata/eqiad/cdh/hadoop.yaml
index 932c520..be8fa55 100644
--- a/hieradata/eqiad/cdh/hadoop.yaml
+++ b/hieradata/eqiad/cdh/hadoop.yaml
@@ -32,7 +32,7 @@
 net_topology_script_template: 
'role/analytics_cluster/hadoop/net-topology.py.erb'
 
 # Increase NameNode heapsize independent from other daemons
-namenode_opts: "-Xmx4096m"
+hadoop_namenode_opts: "-Xmx4096m"
 
 # Ensure that users in these groups have home directories in HDFS.
 hadoop_users_posix_groups: "analytics-users analytics-privatedata-users 
analytics-admins analytics-search-users"
diff --git a/modules/role/manifests/analytics_cluster/hadoop/client.pp 
b/modules/role/manifests/analytics_cluster/hadoop/client.pp
index 983484e..d1caff2 100644
--- a/modules/role/manifests/analytics_cluster/hadoop/client.pp
+++ b/modules/role/manifests/analytics_cluster/hadoop/client.pp
@@ -64,6 +64,9 @@
             
'yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage' 
=> '99.0',
         },
     }
+    # This will only enable logstash logging if
+    # $cdh::hadoop::gelf_logging_enabled is true.
+    include role::analytics_cluster::hadoop::logstash
 
     # If in production AND the current node is a journalnode, then
     # go ahead and include an icinga alert for the JournalNode process.
@@ -73,44 +76,6 @@
             nrpe_command => '/usr/lib/nagios/plugins/check_procs -c 1:1 -C 
java -a "org.apache.hadoop.hdfs.qjournal.server.JournalNode"',
             require      => Class['cdh::hadoop'],
             critical     => true,
-        }
-    }
-
-    file { '/usr/local/bin/hadoop-yarn-logging-helper.sh':
-        content => template('hadoop/hadoop-yarn-logging-helper.erb'),
-        mode    => '0744',
-    }
-    if $::cdh::hadoop::gelf_logging_enabled {
-        ensure_packages([
-            # library dependency
-            'libjson-simple-java',
-            # the libary itself: logstash-gelf.jar
-            'liblogstash-gelf-java',
-        ])
-        # symlink into hadoop classpath
-        file { '/usr/lib/hadoop/lib/json_simple.jar':
-            ensure  => 'link',
-            target  => '/usr/share/java/json_simple.jar',
-            require => Package['libjson-simple-java'],
-        }
-
-        # symlink into hadoop classpath
-        file { '/usr/lib/hadoop/lib/logstash-gelf.jar':
-            ensure  => 'link',
-            target  => '/usr/share/java/logstash-gelf.jar',
-            require => Package['liblogstash-gelf-java'],
-        }
-        # Patch container-log4j.properties inside nodemanager jar
-        # See script source for details
-        exec { 'hadoop-yarn-logging-helper-set':
-            command   => '/usr/local/bin/hadoop-yarn-logging-helper.sh set',
-            subscribe => File['/usr/local/bin/hadoop-yarn-logging-helper.sh'],
-        }
-    } else {
-        # Revert to original unmodified jar
-        exec { 'hadoop-yarn-logging-helper-reset':
-            command   => '/usr/local/bin/hadoop-yarn-logging-helper.sh reset',
-            subscribe => File['/usr/local/bin/hadoop-yarn-logging-helper.sh'],
         }
     }
 
diff --git a/modules/role/manifests/analytics_cluster/hadoop/logstash.pp 
b/modules/role/manifests/analytics_cluster/hadoop/logstash.pp
new file mode 100644
index 0000000..6591745
--- /dev/null
+++ b/modules/role/manifests/analytics_cluster/hadoop/logstash.pp
@@ -0,0 +1,51 @@
+# == Class role::analytics_cluster::hadoop::logstash
+# Enables gelf logging to logstash from Hadoop.
+# As of 2016-02, this  is not used.
+class role::analytics_cluster::hadoop::logstash {
+    Class['cdh::hadoop'] -> Class['role::analytics_cluster::hadoop::logstash']
+
+    file { '/usr/local/bin/hadoop-yarn-logging-helper.sh':
+        content => template('hadoop/hadoop-yarn-logging-helper.erb'),
+        mode    => '0744',
+    }
+
+    $patched_jar_exists_command = '/bin/ls /usr/lib/hadoop-yarn | 
/usr/bin/grep -E  "hadoop-yarn-server-nodemanager.+gelf"'
+
+    if $cdh::hadoop::gelf_logging_enabled {
+        ensure_packages([
+            # library dependency
+            'libjson-simple-java',
+            # the libary itself: logstash-gelf.jar
+            'liblogstash-gelf-java',
+        ])
+        # symlink into hadoop classpath
+        file { '/usr/lib/hadoop/lib/json_simple.jar':
+            ensure  => 'link',
+            target  => '/usr/share/java/json_simple.jar',
+            require => Package['libjson-simple-java'],
+        }
+
+        # symlink into hadoop classpath
+        file { '/usr/lib/hadoop/lib/logstash-gelf.jar':
+            ensure  => 'link',
+            target  => '/usr/share/java/logstash-gelf.jar',
+            require => Package['liblogstash-gelf-java'],
+        }
+
+        # Patch container-log4j.properties inside nodemanager jar
+        # See script source for details
+        exec { 'hadoop-yarn-logging-helper-set':
+            command   => '/usr/local/bin/hadoop-yarn-logging-helper.sh set',
+            subscribe => File['/usr/local/bin/hadoop-yarn-logging-helper.sh'],
+            unless    => $patched_jar_exists_command,
+        }
+    }
+    else {
+        # Revert to original unmodified jar
+        exec { 'hadoop-yarn-logging-helper-reset':
+            command   => '/usr/local/bin/hadoop-yarn-logging-helper.sh reset',
+            subscribe => File['/usr/local/bin/hadoop-yarn-logging-helper.sh'],
+            onlyif    => $patched_jar_exists_command,
+        }
+    }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/270027
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I11aba4281a5fcfdbd532d84defe1985026549fb9
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Ottomata <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to