Ver código fonte

AMBARI-2301. Ambari starting HDFS from the second try. (Oleksandr Diachenko via mahadev)

git-svn-id: https://svn.apache.org/repos/asf/incubator/ambari/trunk@1490762 13f79535-47bb-0310-9956-ffa450edef68
Mahadev Konar 12 anos atrás
pai
commit
7024558d24

+ 4 - 2
ambari-agent/src/main/puppet/modules/hdp-hadoop/manifests/hdfs/directory.pp

@@ -29,6 +29,7 @@ define hdp-hadoop::hdfs::directory(
 ) 
 {
   $dir_exists = "hadoop fs -ls ${name} >/dev/null 2>&1"
+  $namenode_safe_mode_off = "hadoop dfsadmin -safemode get|grep 'Safe mode is OFF'"
   $tries = 30
   $try_sleep = 10
  
@@ -43,6 +44,7 @@ define hdp-hadoop::hdfs::directory(
     hdp-hadoop::exec-hadoop { $mkdir_cmd:
       command   => $mkdir_cmd,
       unless    => $dir_exists,
+      onlyif    => $namenode_safe_mode_off,
       try_sleep => $try_sleep,
       tries     => $tries
     }
@@ -65,7 +67,7 @@ define hdp-hadoop::hdfs::directory(
       }
       hdp-hadoop::exec-hadoop {$chown_cmd :
         command   => $chown_cmd,
-        onlyif    => $dir_exists,
+        onlyif    => "$namenode_safe_mode_off && $dir_exists",
         try_sleep => $try_sleep,
         tries     => $tries
       }
@@ -81,7 +83,7 @@ define hdp-hadoop::hdfs::directory(
       }
       hdp-hadoop::exec-hadoop {$chmod_cmd :
         command   => $chmod_cmd,
-        onlyif    => $dir_exists,
+        onlyif    => "$namenode_safe_mode_off && $dir_exists",
         try_sleep => $try_sleep,
         tries     => $tries
       }