大数据学习笔记:启动脚本分析,start-dfs.cmd与start-yarn.cmd

来源:互联网 发布:淘宝店铺怎么发布微淘 编辑:程序博客网 时间:2024/05/20 01:08

转到start-dfs.cmd代码。


setlocal enabledelayedexpansion

待分析。


if not defined HADOOP_BIN_PATH (   set HADOOP_BIN_PATH=%~dp0)if "%HADOOP_BIN_PATH:~-1%" == "\" (  set HADOOP_BIN_PATH=%HADOOP_BIN_PATH:~0,-1%)
判断并设置hadoop可执行文件目录,过滤掉结尾的反斜杠。


set DEFAULT_LIBEXEC_DIR=%HADOOP_BIN_PATH%\..\libexecif not defined HADOOP_LIBEXEC_DIR (  set HADOOP_LIBEXEC_DIR=%DEFAULT_LIBEXEC_DIR%)
设置DEFAULT_LIBEXEC_DIR与HADOOP_LIBEXEC_DIR变量。


call %HADOOP_LIBEXEC_DIR%\hdfs-config.cmd %*
调用%HADOOP_LIBEXEC_DIR%\hdfs-config.cmd,%*代表用户键入命令时所带的参数。


转到hdfs-config.cmd代码。


if not defined HADOOP_BIN_PATH (   set HADOOP_BIN_PATH=%~dp0)if "%HADOOP_BIN_PATH:~-1%" == "\" (  set HADOOP_BIN_PATH=%HADOOP_BIN_PATH:~0,-1%)
设置hadoop可执行文件路径,并过滤掉结尾的反斜杠。

set DEFAULT_LIBEXEC_DIR=%HADOOP_BIN_PATH%\..\libexecif not defined HADOOP_LIBEXEC_DIR (  set HADOOP_LIBEXEC_DIR=%DEFAULT_LIBEXEC_DIR%)
设置LIBEXEC路径。


if exist %HADOOP_LIBEXEC_DIR%\hadoop-config.cmd (  call %HADOOP_LIBEXEC_DIR%\hadoop-config.cmd %*) else if exist %HADOOP_COMMON_HOME%\libexec\hadoop-config.cmd (  call %HADOOP_COMMON_HOME%\libexec\hadoop-config.cmd %*) else if exist %HADOOP_HOME%\libexec\hadoop-config.cmd (  call %HADOOP_HOME%\libexec\hadoop-config.cmd %*) else (  echo Hadoop common not found.)
寻找hadoop-config.cmd并执行,找不到则报错。hadoop-config.cmd代码分析参照之前的文章。


回到start-dfs.cmd代码。


if "%1" == "--config" (  shift  shift)
若带了--config参数,则进行过滤。

start "Apache Hadoop Distribution" hadoop namenodestart "Apache Hadoop Distribution" hadoop datanode

启动hadoop的名称节点与数据节点,实质为调用C:\DevProgram\hadoop-2.7.3\bin\hadoop.cmd,分别以namenode与datanode为参数。


转到start-yarn.cmd代码。


setlocal enabledelayedexpansion
待分析。


echo starting yarn daemons
显示开始信息。


if not defined HADOOP_BIN_PATH (   set HADOOP_BIN_PATH=%~dp0)if "%HADOOP_BIN_PATH:~-1%" == "\" (  set HADOOP_BIN_PATH=%HADOOP_BIN_PATH:~0,-1%)
设置hadoop可执行文件路径。


set DEFAULT_LIBEXEC_DIR=%HADOOP_BIN_PATH%\..\libexecif not defined HADOOP_LIBEXEC_DIR (  set HADOOP_LIBEXEC_DIR=%DEFAULT_LIBEXEC_DIR%)
设置LIBEXEC路径。


call %HADOOP_LIBEXEC_DIR%\yarn-config.cmd %*
调用%HADOOP_LIBEXEC_DIR%\yarn-config.cmd,%*表示命令中带的参数。

转到yarn-config.cmd代码。


回到start-yarn.cmd代码。


if "%1" == "--config" (  shift  shift)
若带了--config参数,则进行过滤。


start "Apache Hadoop Distribution" yarn resourcemanagerstart "Apache Hadoop Distribution" yarn nodemanager
启动yarn框架的资源管理器与节点管理器。实质为调用C:\DevProgram\hadoop-2.7.3\bin\yarn.cmd,分别以resourcemanager和nodemanager作为参数。











原创粉丝点击