一、start-all.sh
hadoop安装目录/home/hadoop/hadoop-2.8.0/
libexec/hadoop-config.sh ---设置变量
sbin/start-dfs.sh ---启动hdfs
sbin/start-yarn.sh ---启动yarn
二、sbin/start-dfs.sh --config $HADOOP_CONF_DIR -启动hdfs
libexec/hdfs-config.sh --等价于libexec/hadoop-config.sh
获得节点名称和主机名
NameNodes=$($HADOOP_PREFIX/bin/hdfs getconf-namenodes)
启动节点名称
"$HADOOP_PREFIX/sbin/hadoop-daemons.sh" --config "$HADOOP_CONF_DIR" --script "$bin/hdfs" start namenode $nameStartOpt
启动DataNode
"$HADOOP_PREFIX/sbin/hadoop-daemons.sh" --config "$HADOOP_CONF_DIR" --script "$bin/hdfs" start datanode $dataStartOpt
启动2NN
"$HADOOP_PREFIX/sbin/hadoop-daemons.sh" --config "$HADOOP_CONF_DIR" --hostname "$SECONDARY_NAMENODES" --script "$bin/hdfs" start secondarynamenode
三、libexec/hdfs-config.sh
基本上都是调用libexec/hadoop-config.sh这个命令
四、sbin/hadoop-daemons.sh --启动守护进程脚本
1、libexec/hdfs-config.sh 执行配置脚本
2、exec "$bin/slaves.sh" --config $HADOOP_CONF_DIR cd "$HADOOP_PREFIX" "$bin/hadoop-daemon.sh" --config $HADOOP_CONF_DIR "$@"
//exec调用 循环slaves文件。通过ssh方式登录远程主机,执行相应命令
3、hadoop-daemon.sh
hadoop-config.sh
五、bin/hadoop
hadoop-config.sh
java 最终调用的是java命令
六、bin/hdfs
hadoop-config.sh
java 最终调用的是Java命令
七、hadoop单启和多启进程
hadoop-daemon.sh start namenode //启动任何脚本都可这个形式
hadoop-daemon.sh start secondarynamenode
hadoop-daemon.sh stop namenode //关闭
//hadoop-daemon.sh 只在本地 只启动(关闭)一个 要在相应的机器上操作
//hadoop-daemons.sh 同时启动多个(集群上的任何机器上都可以操作)
eg:hadoop-daemons.sh start datanode
a:atomic 原子性
c:conssitent 一致性
i:isolation 隔离性
d:durable 永久性