Преглед на файлове

HADOOP-8012. svn merge -c 1239752 from trunk

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1239753 13f79535-47bb-0310-9956-ffa450edef68
Eli Collins преди 13 години
родител
ревизия
12f83b380a

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -197,6 +197,9 @@ Release 0.23.1 - Unreleased
    HADOOP-7999. "hadoop archive" fails with ClassNotFoundException.
    HADOOP-7999. "hadoop archive" fails with ClassNotFoundException.
    (Jason Lowe via mahadev)
    (Jason Lowe via mahadev)
 
 
+   HADOOP-8012. hadoop-daemon.sh and yarn-daemon.sh are trying to mkdir
+   and chown log/pid dirs which can fail. (Roman Shaposhnik via eli)
+
 Release 0.23.0 - 2011-11-01 
 Release 0.23.0 - 2011-11-01 
 
 
   INCOMPATIBLE CHANGES
   INCOMPATIBLE CHANGES

+ 6 - 3
hadoop-common-project/hadoop-common/src/main/bin/hadoop-daemon.sh

@@ -95,8 +95,11 @@ fi
 if [ "$HADOOP_LOG_DIR" = "" ]; then
 if [ "$HADOOP_LOG_DIR" = "" ]; then
   export HADOOP_LOG_DIR="$HADOOP_PREFIX/logs"
   export HADOOP_LOG_DIR="$HADOOP_PREFIX/logs"
 fi
 fi
-mkdir -p "$HADOOP_LOG_DIR"
-chown $HADOOP_IDENT_STRING $HADOOP_LOG_DIR
+
+if [ ! -w "$HADOOP_LOG_DIR" ] ; then
+  mkdir -p "$HADOOP_LOG_DIR"
+  chown $HADOOP_IDENT_STRING $HADOOP_LOG_DIR
+fi
 
 
 if [ "$HADOOP_PID_DIR" = "" ]; then
 if [ "$HADOOP_PID_DIR" = "" ]; then
   HADOOP_PID_DIR=/tmp
   HADOOP_PID_DIR=/tmp
@@ -118,7 +121,7 @@ case $startStop in
 
 
   (start)
   (start)
 
 
-    mkdir -p "$HADOOP_PID_DIR"
+    [ -w "$HADOOP_PID_DIR" ] ||  mkdir -p "$HADOOP_PID_DIR"
 
 
     if [ -f $pid ]; then
     if [ -f $pid ]; then
       if kill -0 `cat $pid` > /dev/null 2>&1; then
       if kill -0 `cat $pid` > /dev/null 2>&1; then

+ 6 - 3
hadoop-mapreduce-project/hadoop-yarn/bin/yarn-daemon.sh

@@ -78,8 +78,11 @@ fi
 if [ "$YARN_LOG_DIR" = "" ]; then
 if [ "$YARN_LOG_DIR" = "" ]; then
   export YARN_LOG_DIR="$YARN_HOME/logs"
   export YARN_LOG_DIR="$YARN_HOME/logs"
 fi
 fi
-mkdir -p "$YARN_LOG_DIR"
-chown $YARN_IDENT_STRING $YARN_LOG_DIR 
+
+if [ ! -w "$YARN_LOG_DIR" ] ; then
+  mkdir -p "$YARN_LOG_DIR"
+  chown $YARN_IDENT_STRING $YARN_LOG_DIR 
+fi
 
 
 if [ "$YARN_PID_DIR" = "" ]; then
 if [ "$YARN_PID_DIR" = "" ]; then
   YARN_PID_DIR=/tmp
   YARN_PID_DIR=/tmp
@@ -101,7 +104,7 @@ case $startStop in
 
 
   (start)
   (start)
 
 
-    mkdir -p "$YARN_PID_DIR"
+    [ -w "$YARN_PID_DIR" ] || mkdir -p "$YARN_PID_DIR"
 
 
     if [ -f $pid ]; then
     if [ -f $pid ]; then
       if kill -0 `cat $pid` > /dev/null 2>&1; then
       if kill -0 `cat $pid` > /dev/null 2>&1; then