2.7.0

HDFS-2.7.0系列3: hdfs namenode -format

假装没事ソ 提交于 2019-11-29 09:06:31
上一节,讲过了,执行hadoop namenode -format后 实际上是执行 /root/hadoop-2.7.0-bin/bin/hdfs namenode -format 下面就来分析这个脚本 --- bin=`which $0` bin=`dirname ${bin}` bin=`cd "$bin" > /dev/null; pwd` 打印 bin=/root/hadoop-2.7.0-bin/bin --- DEFAULT_LIBEXEC_DIR="$bin"/../libexec 打印’ DEFAULT_LIBEXEC_DIR=/root/hadoop-2.7.0-bin/bin/../libexec --- cygwin=false case "$(uname)" in CYGWIN*) cygwin=true;; esac 这个不会执行,过滤 --- 接下来执行一个脚本 HADOOP_LIBEXEC_DIR=${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR} . $HADOOP_LIBEXEC_DIR/hdfs-config.sh 实际上执行的是 /root/hadoop-2.7.0-bin/libexec/hdfs-config.sh 这个脚本其实是调用另外一个脚本,调用的哪个脚本?读者可以自己去探索一下:) --

HDFS-2.7.0系列2: hadoop namenode -format脚本解析

醉酒当歌 提交于 2019-11-28 11:56:44
我们都知道,在Hadoop 2.7.0中,系统刚开始执行时,需要执行一个命令就是 hadoop namenode -format 下面我们就来逐行分析下,这个命令对应的脚本的真正内涵! --- bin=`which $0` bin=`dirname ${bin}` bin=`cd "$bin"; pwd` 打印出来的bin值为 /root/hadoop-2.7.0-bin/bin --- DEFAULT_LIBEXEC_DIR="$bin"/../libexec 则导致DEFAULT_LIBEXEC_DIR的值为 /root/hadoop-2.7.0-bin/bin/../libexec --- cygwin=false case "$(uname)" in CYGWIN*) cygwin=true;; esac 这个一看就知道跟cywin相关,也就是如果你在windows下执行这个脚本才有意义,我的是linux,无视这段代码! --- HADOOP_LIBEXEC_DIR=${HADOOP_LIBEXEC_DIR:-$DEFAULT_LIBEXEC_DIR} 打印其值为 /root/hadoop-2.7.0-bin/bin/../libexec --- 接下来执行一个脚本 . $HADOOP_LIBEXEC_DIR/hadoop-config.sh 打印的值是/root