From 99309a9fecbd2d17e525f6989c936ee6d0bbaeb9 Mon Sep 17 00:00:00 2001 From: Vinayakumar B Date: Fri, 8 May 2015 15:24:36 +0530 Subject: [PATCH] HDFS-8226. Non-HA rollback compatibility broken (Contributed by J.Andreina) (cherry picked from commit e01c1a979cbc8fb398d5b7a46693657bc2668a58) Conflicts: hadoop-hdfs-project/hadoop-hdfs/src/main/bin/start-dfs.sh hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/HdfsUserGuide.md (cherry picked from commit 3a894b45635d6528bb4c29953f57bd418a7c8a80) --- hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 2 ++ .../hadoop-hdfs/src/main/bin/start-dfs.sh | 28 +++++++++---------- .../src/site/markdown/HdfsUserGuide.md | 4 ++- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index eaade89bf5e..bdb30324aab 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -68,6 +68,8 @@ Release 2.7.1 - UNRELEASED HDFS-7980. Incremental BlockReport will dramatically slow down namenode startup. (Walter Su via szetszwo) + HDFS-8226. Non-HA rollback compatibility broken (J.Andreina via vinayakumarb) + Release 2.7.0 - 2015-04-20 INCOMPATIBLE CHANGES diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/bin/start-dfs.sh b/hadoop-hdfs-project/hadoop-hdfs/src/main/bin/start-dfs.sh index 8cbea16aa61..c46e6253101 100755 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/bin/start-dfs.sh +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/bin/start-dfs.sh @@ -30,20 +30,20 @@ HADOOP_LIBEXEC_DIR=${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR} . $HADOOP_LIBEXEC_DIR/hdfs-config.sh # get arguments -if [ $# -ge 1 ]; then - nameStartOpt="$1" - shift - case "$nameStartOpt" in - (-upgrade) - ;; - (-rollback) - dataStartOpt="$nameStartOpt" - ;; - (*) - echo $usage - exit 1 - ;; - esac +if [[ $# -ge 1 ]]; then + startOpt="$1" + shift + case "$startOpt" in + -upgrade) + nameStartOpt="$startOpt" + ;; + -rollback) + dataStartOpt="$startOpt" + ;; + *) + hadoop_exit_with_usage 1 + ;; + esac fi #Add other possible options diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/HdfsUserGuide.md b/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/HdfsUserGuide.md index 37fa4be0099..c43c63c06f9 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/HdfsUserGuide.md +++ b/hadoop-hdfs-project/hadoop-hdfs/src/site/markdown/HdfsUserGuide.md @@ -319,7 +319,9 @@ When Hadoop is upgraded on an existing cluster, as with any software upgrade, it * stop the cluster and distribute earlier version of Hadoop. - * start the cluster with rollback option. (`bin/start-dfs.sh -rollback`). + * run the rollback command on the namenode (`bin/hdfs namenode -rollback`). + + * start the cluster with rollback option. (`sbin/start-dfs.sh -rollback`). When upgrading to a new version of HDFS, it is necessary to rename or delete any paths that are reserved in the new version of HDFS. If the NameNode encounters a reserved path during upgrade, it will print an error like the following: