incubator-ambari-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From odiache...@apache.org
Subject git commit: AMBARI-3534. Hadoop Core Health Check script needs to be included in Ambari HDP installations. (Artem Baranchuk via odiachenko)
Date Thu, 17 Oct 2013 12:39:46 GMT
Updated Branches:
  refs/heads/trunk 9a05963ce -> 02ecc4d18


AMBARI-3534. Hadoop Core Health Check script needs to be included in Ambari HDP installations.
(Artem Baranchuk via odiachenko)


Project: http://git-wip-us.apache.org/repos/asf/incubator-ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ambari/commit/02ecc4d1
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ambari/tree/02ecc4d1
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ambari/diff/02ecc4d1

Branch: refs/heads/trunk
Commit: 02ecc4d18939fd0fc76b03bbcf0ebcdbfb7a5a4a
Parents: 9a05963
Author: Oleksandr Diachenko <odiachenko@hortonworks.com>
Authored: Thu Oct 17 15:39:29 2013 +0300
Committer: Oleksandr Diachenko <odiachenko@hortonworks.com>
Committed: Thu Oct 17 15:39:29 2013 +0300

----------------------------------------------------------------------
 .../puppet/modules/hdp-hadoop/manifests/init.pp | 15 +++-
 .../hdp-hadoop/templates/health_check-v2.erb    | 91 ++++++++++++++++++++
 2 files changed, 105 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/02ecc4d1/ambari-agent/src/main/puppet/modules/hdp-hadoop/manifests/init.pp
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/puppet/modules/hdp-hadoop/manifests/init.pp b/ambari-agent/src/main/puppet/modules/hdp-hadoop/manifests/init.pp
index da3d1cb..7f42430 100644
--- a/ambari-agent/src/main/puppet/modules/hdp-hadoop/manifests/init.pp
+++ b/ambari-agent/src/main/puppet/modules/hdp-hadoop/manifests/init.pp
@@ -305,12 +305,25 @@ class hdp-hadoop(
       mode  => $tc_mode
     }
 
-    $template_files = [ 'hadoop-env.sh', 'health_check', 'commons-logging.properties', 'slaves']
+    $template_files = [ 'hadoop-env.sh', 'commons-logging.properties', 'slaves']
     hdp-hadoop::configfile { $template_files:
       tag   => 'common', 
       owner => $hdfs_user
     }
 
+    if (hdp_get_major_stack_version($hdp::params::stack_version) >= 2) {
+      hdp-hadoop::configfile { 'health_check' :
+        tag   => 'common',
+        owner => $hdfs_user,
+        template_tag => 'v2'
+      }
+    } else {
+      hdp-hadoop::configfile { 'health_check' :
+        tag   => 'common',
+        owner => $hdfs_user
+      }
+    }
+
     # log4j.properties has to be installed just one time to prevent
     # manual changes overwriting
     if ($service_state=='installed_and_configured') {

http://git-wip-us.apache.org/repos/asf/incubator-ambari/blob/02ecc4d1/ambari-agent/src/main/puppet/modules/hdp-hadoop/templates/health_check-v2.erb
----------------------------------------------------------------------
diff --git a/ambari-agent/src/main/puppet/modules/hdp-hadoop/templates/health_check-v2.erb
b/ambari-agent/src/main/puppet/modules/hdp-hadoop/templates/health_check-v2.erb
new file mode 100644
index 0000000..cb7b12b
--- /dev/null
+++ b/ambari-agent/src/main/puppet/modules/hdp-hadoop/templates/health_check-v2.erb
@@ -0,0 +1,91 @@
+#!/bin/bash
+#
+#/*
+# * Licensed to the Apache Software Foundation (ASF) under one
+# * or more contributor license agreements.  See the NOTICE file
+# * distributed with this work for additional information
+# * regarding copyright ownership.  The ASF licenses this file
+# * to you under the Apache License, Version 2.0 (the
+# * "License"); you may not use this file except in compliance
+# * with the License.  You may obtain a copy of the License at
+# *
+# *     http://www.apache.org/licenses/LICENSE-2.0
+# *
+# * Unless required by applicable law or agreed to in writing, software
+# * distributed under the License is distributed on an "AS IS" BASIS,
+# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# * See the License for the specific language governing permissions and
+# * limitations under the License.
+# */
+
+err=0;
+
+function check_disks {
+
+  for m in `awk '$3~/ext3/ {printf" %s ",$2}' /etc/fstab` ; do
+    fsdev=""
+    fsdev=`awk -v m=$m '$2==m {print $1}' /proc/mounts`;
+    if [ -z "$fsdev" -a "$m" != "/mnt" ] ; then
+      msg_="$msg_ $m(u)"
+    else
+      msg_="$msg_`awk -v m=$m '$2==m { if ( $4 ~ /^ro,/ ) {printf"%s(ro)",$2 } ; }' /proc/mounts`"
+    fi
+  done
+
+  if [ -z "$msg_" ] ; then
+    echo "disks ok" ; exit 0
+  else
+    echo "$msg_" ; exit 2
+  fi
+
+}
+
+function check_link {
+  snmp=/usr/bin/snmpwalk
+  if [ -e $snmp ] ; then
+    $snmp -t 5 -Oe  -Oq  -Os -v 1 -c public localhost if | \
+    awk ' {
+      split($1,a,".") ;
+      if ( a[1] == "ifIndex" ) { ifIndex[a[2]] = $2 }
+      if ( a[1] == "ifDescr" ) { ifDescr[a[2]] = $2 }
+      if ( a[1] == "ifType" ) { ifType[a[2]] = $2 }
+      if ( a[1] == "ifSpeed" ) { ifSpeed[a[2]] = $2 }
+      if ( a[1] == "ifAdminStatus" ) { ifAdminStatus[a[2]] = $2 }
+      if ( a[1] == "ifOperStatus" ) { ifOperStatus[a[2]] = $2 }
+    }
+    END {
+      up=0;
+      for (i in ifIndex ) {
+      if ( ifType[i] == 6 && ifAdminStatus[i] == 1 && ifOperStatus[i] ==
1 && ifSpeed[i] == 1000000000 ) {
+      up=i;
+      }
+      }
+      if ( up == 0 ) { print "check link" ; exit 2 }
+      else { print ifDescr[up],"ok" }
+    }'
+    exit $? ;
+  fi
+}
+
+# Run all checks
+# Disabled 'check_link' for now... 
+for check in disks ; do
+  msg=`check_${check}` ;
+  if [ $? -eq 0 ] ; then
+    ok_msg="$ok_msg$msg,"
+  else
+    err_msg="$err_msg$msg,"
+  fi
+done
+
+if [ ! -z "$err_msg" ] ; then
+  echo -n "ERROR $err_msg "
+fi
+if [ ! -z "$ok_msg" ] ; then
+  echo -n "OK: $ok_msg"
+fi
+
+echo
+
+# Success!
+exit 0


Mime
View raw message