From 9d5a11198249c4be400ff5b77573d2ab87aa79b6 Mon Sep 17 00:00:00 2001 From: tsaavik Date: Fri, 20 Dec 2013 10:18:46 -0800 Subject: [PATCH 1/4] Removed deprecated hadoop command for hdfs Made hdfs user configurable (FIXME: user plugin.conf) --- plugins/hadoop/hadoop-dfs-plugin | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/hadoop/hadoop-dfs-plugin b/plugins/hadoop/hadoop-dfs-plugin index c99288e1..f89a165d 100755 --- a/plugins/hadoop/hadoop-dfs-plugin +++ b/plugins/hadoop/hadoop-dfs-plugin @@ -15,11 +15,12 @@ use strict; use File::Basename qw(basename); -my $type = &getType($0); +my $hdfs_user = "hdfs"; # # main # +my $type = &getType($0); if ($ARGV[0]) { if ($ARGV[0] eq "autoconf") { print "yes\n"; @@ -95,7 +96,7 @@ sub getCapacity { } sub getStatistics { - open(DFSADMIN, "hadoop dfsadmin -report|") || die("Cannot open dfsadmin: $!"); + open(DFSADMIN, "su $hdfs_user -c 'hdfs dfsadmin -report'|") || die("Cannot open dfsadmin: $!"); while(defined(my $line = )) { chomp($line); From 4682e4fee493b2589795a9fbfa05054fa1c2d086 Mon Sep 17 00:00:00 2001 From: tsaavik Date: Fri, 20 Dec 2013 10:26:40 -0800 Subject: [PATCH 2/4] better way to do it --- plugins/hadoop/hadoop-dfs-plugin | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/hadoop/hadoop-dfs-plugin b/plugins/hadoop/hadoop-dfs-plugin index f89a165d..52075e59 100755 --- a/plugins/hadoop/hadoop-dfs-plugin +++ b/plugins/hadoop/hadoop-dfs-plugin @@ -96,7 +96,7 @@ sub getCapacity { } sub getStatistics { - open(DFSADMIN, "su $hdfs_user -c 'hdfs dfsadmin -report'|") || die("Cannot open dfsadmin: $!"); + open(DFSADMIN, "sudo -u $hdfs_user hdfs dfsadmin -report|") || die("Cannot open dfsadmin: $!"); while(defined(my $line = )) { chomp($line); From 10dc32cd07d6913431410ecdf68fc89dec9abe8e Mon Sep 17 00:00:00 2001 From: tsaavik Date: Fri, 20 Dec 2013 11:03:42 -0800 Subject: [PATCH 3/4] updated to user the perl munin module and user config from plugin-conf --- plugins/hadoop/hadoop-dfs-plugin | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/hadoop/hadoop-dfs-plugin b/plugins/hadoop/hadoop-dfs-plugin index 52075e59..4d1a4c7c 100755 --- a/plugins/hadoop/hadoop-dfs-plugin +++ b/plugins/hadoop/hadoop-dfs-plugin @@ -9,13 +9,21 @@ # Symlink this file to hadoop_hdfs_block or hadoop_hdfs_capacity to get block # or capacity informations about the DFS. # +# +# Needs following minimal configuration in plugin-conf.d/munin-node: +# [hadoop_hdfs_block] +# user hdfs +# +# [hadoop_hdfs_capacity] +# user hdfs +# # Author: KARASZI Istvan # use strict; use File::Basename qw(basename); +use Munin::Plugin; -my $hdfs_user = "hdfs"; # # main @@ -96,7 +104,7 @@ sub getCapacity { } sub getStatistics { - open(DFSADMIN, "sudo -u $hdfs_user hdfs dfsadmin -report|") || die("Cannot open dfsadmin: $!"); + open(DFSADMIN, "hdfs dfsadmin -report|") || die("Cannot open dfsadmin: $!"); while(defined(my $line = )) { chomp($line); From 08eefc25879742fd2c7b1e6d719aa8b4afe62772 Mon Sep 17 00:00:00 2001 From: tsaavik Date: Fri, 20 Dec 2013 13:06:41 -0800 Subject: [PATCH 4/4] don't collect/send redundant data to munin --- plugins/hadoop/hadoop-dfs-plugin | 3 +++ 1 file changed, 3 insertions(+) diff --git a/plugins/hadoop/hadoop-dfs-plugin b/plugins/hadoop/hadoop-dfs-plugin index 4d1a4c7c..5918f5a5 100755 --- a/plugins/hadoop/hadoop-dfs-plugin +++ b/plugins/hadoop/hadoop-dfs-plugin @@ -107,6 +107,9 @@ sub getStatistics { open(DFSADMIN, "hdfs dfsadmin -report|") || die("Cannot open dfsadmin: $!"); while(defined(my $line = )) { chomp($line); + if ($line =~ /-------------------------------------------------/) { + last + } if ($type eq "block") { &getBlock($line);