Browse Source

HADOOP-7984. Add hadoop --loglevel option to change log level. Contributed by Aikira AJISAKA.

cnauroth 10 years ago
parent
commit
0abb973f09

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

@@ -357,6 +357,9 @@ Release 2.7.0 - UNRELEASED
 
 
     HADOOP-10987. Provide an iterator-based listing API for FileSystem (kihwal)
     HADOOP-10987. Provide an iterator-based listing API for FileSystem (kihwal)
 
 
+    HADOOP-7984. Add hadoop --loglevel option to change log level.
+    (Akira AJISAKA via cnauroth)
+
   IMPROVEMENTS
   IMPROVEMENTS
 
 
     HADOOP-11156. DelegateToFileSystem should implement
     HADOOP-11156. DelegateToFileSystem should implement

+ 1 - 1
hadoop-common-project/hadoop-common/src/main/bin/hadoop

@@ -17,7 +17,7 @@
 
 
 function hadoop_usage()
 function hadoop_usage()
 {
 {
-  echo "Usage: hadoop [--config confdir] COMMAND"
+  echo "Usage: hadoop [--config confdir] [--loglevel loglevel] COMMAND"
   echo "       where COMMAND is one of:"
   echo "       where COMMAND is one of:"
   echo "  archive -archiveName NAME -p <parent path> <src>* <dest>"
   echo "  archive -archiveName NAME -p <parent path> <src>* <dest>"
   echo "                       create a Hadoop archive"
   echo "                       create a Hadoop archive"

+ 15 - 1
hadoop-common-project/hadoop-common/src/main/bin/hadoop-config.cmd

@@ -88,6 +88,16 @@ if "%1" == "--hosts" (
   shift
   shift
 )
 )
 
 
+@rem
+@rem Set log level. Default to INFO.
+@rem
+
+if "%1" == "--loglevel" (
+  set HADOOP_LOGLEVEL=%2
+  shift
+  shift
+)
+
 if exist %HADOOP_CONF_DIR%\hadoop-env.cmd (
 if exist %HADOOP_CONF_DIR%\hadoop-env.cmd (
   call %HADOOP_CONF_DIR%\hadoop-env.cmd
   call %HADOOP_CONF_DIR%\hadoop-env.cmd
 )
 )
@@ -157,8 +167,12 @@ if not defined HADOOP_LOGFILE (
   set HADOOP_LOGFILE=hadoop.log
   set HADOOP_LOGFILE=hadoop.log
 )
 )
 
 
+if not defined HADOOP_LOGLEVEL (
+  set HADOOP_LOGLEVEL=INFO
+)
+
 if not defined HADOOP_ROOT_LOGGER (
 if not defined HADOOP_ROOT_LOGGER (
-  set HADOOP_ROOT_LOGGER=INFO,console
+  set HADOOP_ROOT_LOGGER=%HADOOP_LOGLEVEL%,console
 )
 )
 
 
 @rem
 @rem

+ 6 - 0
hadoop-common-project/hadoop-common/src/main/bin/hadoop-config.sh

@@ -148,6 +148,12 @@ while [[ -z "${_hadoop_common_done}" ]]; do
       hadoop_populate_slaves_file "$1"
       hadoop_populate_slaves_file "$1"
       shift
       shift
     ;;
     ;;
+    --loglevel)
+      shift
+      # shellcheck disable=SC2034
+      HADOOP_LOGLEVEL="$1"
+      shift
+    ;;
     *)
     *)
       _hadoop_common_done=true
       _hadoop_common_done=true
     ;;
     ;;

+ 3 - 2
hadoop-common-project/hadoop-common/src/main/bin/hadoop-functions.sh

@@ -155,11 +155,12 @@ function hadoop_basic_init
   HADOOP_IDENT_STRING=${HADOP_IDENT_STRING:-$USER}
   HADOOP_IDENT_STRING=${HADOP_IDENT_STRING:-$USER}
   HADOOP_LOG_DIR=${HADOOP_LOG_DIR:-"${HADOOP_PREFIX}/logs"}
   HADOOP_LOG_DIR=${HADOOP_LOG_DIR:-"${HADOOP_PREFIX}/logs"}
   HADOOP_LOGFILE=${HADOOP_LOGFILE:-hadoop.log}
   HADOOP_LOGFILE=${HADOOP_LOGFILE:-hadoop.log}
+  HADOOP_LOGLEVEL=${HADOOP_LOGLEVEL:-INFO}
   HADOOP_NICENESS=${HADOOP_NICENESS:-0}
   HADOOP_NICENESS=${HADOOP_NICENESS:-0}
   HADOOP_STOP_TIMEOUT=${HADOOP_STOP_TIMEOUT:-5}
   HADOOP_STOP_TIMEOUT=${HADOOP_STOP_TIMEOUT:-5}
   HADOOP_PID_DIR=${HADOOP_PID_DIR:-/tmp}
   HADOOP_PID_DIR=${HADOOP_PID_DIR:-/tmp}
-  HADOOP_ROOT_LOGGER=${HADOOP_ROOT_LOGGER:-INFO,console}
-  HADOOP_DAEMON_ROOT_LOGGER=${HADOOP_DAEMON_ROOT_LOGGER:-INFO,RFA}
+  HADOOP_ROOT_LOGGER=${HADOOP_ROOT_LOGGER:-${HADOOP_LOGLEVEL},console}
+  HADOOP_DAEMON_ROOT_LOGGER=${HADOOP_DAEMON_ROOT_LOGGER:-${HADOOP_LOGLEVEL},RFA}
   HADOOP_SECURITY_LOGGER=${HADOOP_SECURITY_LOGGER:-INFO,NullAppender}
   HADOOP_SECURITY_LOGGER=${HADOOP_SECURITY_LOGGER:-INFO,NullAppender}
   HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-1024}
   HADOOP_HEAPSIZE=${HADOOP_HEAPSIZE:-1024}
   HADOOP_SSH_OPTS=${HADOOP_SSH_OPTS:-"-o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=10s"}
   HADOOP_SSH_OPTS=${HADOOP_SSH_OPTS:-"-o BatchMode=yes -o StrictHostKeyChecking=no -o ConnectTimeout=10s"}

+ 9 - 1
hadoop-common-project/hadoop-common/src/main/bin/hadoop.cmd

@@ -88,6 +88,10 @@ call :updatepath %HADOOP_BIN_PATH%
     shift
     shift
     shift
     shift
   )
   )
+  if "%1" == "--loglevel" (
+    shift
+    shift
+  )
 
 
   set hadoop-command=%1
   set hadoop-command=%1
   if not defined hadoop-command (
   if not defined hadoop-command (
@@ -238,6 +242,10 @@ call :updatepath %HADOOP_BIN_PATH%
     shift
     shift
     shift
     shift
   )
   )
+  if "%1" == "--loglevel" (
+    shift
+    shift
+  )
   if [%2] == [] goto :eof
   if [%2] == [] goto :eof
   shift
   shift
   set _arguments=
   set _arguments=
@@ -256,7 +264,7 @@ call :updatepath %HADOOP_BIN_PATH%
   goto :eof
   goto :eof
 
 
 :print_usage
 :print_usage
-  @echo Usage: hadoop [--config confdir] COMMAND
+  @echo Usage: hadoop [--config confdir] [--loglevel loglevel] COMMAND
   @echo where COMMAND is one of:
   @echo where COMMAND is one of:
   @echo   fs                   run a generic filesystem user client
   @echo   fs                   run a generic filesystem user client
   @echo   version              print the version
   @echo   version              print the version

+ 6 - 1
hadoop-common-project/hadoop-common/src/site/apt/CommandsManual.apt.vm

@@ -27,7 +27,8 @@ Overview
    hadoop script without any arguments prints the description for all
    hadoop script without any arguments prints the description for all
    commands.
    commands.
 
 
-   Usage: <<<hadoop [--config confdir] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]>>>
+   Usage: <<<hadoop [--config confdir] [--loglevel loglevel] [COMMAND]
+             [GENERIC_OPTIONS] [COMMAND_OPTIONS]>>>
 
 
    Hadoop has an option parsing framework that employs parsing generic
    Hadoop has an option parsing framework that employs parsing generic
    options as well as running classes.
    options as well as running classes.
@@ -37,6 +38,10 @@ Overview
 *-----------------------+---------------+
 *-----------------------+---------------+
 | <<<--config confdir>>>| Overwrites the default Configuration directory.  Default is <<<${HADOOP_HOME}/conf>>>.
 | <<<--config confdir>>>| Overwrites the default Configuration directory.  Default is <<<${HADOOP_HOME}/conf>>>.
 *-----------------------+---------------+
 *-----------------------+---------------+
+| <<<--loglevel loglevel>>>| Overwrites the log level. Valid log levels are
+|                       | FATAL, ERROR, WARN, INFO, DEBUG, and TRACE.
+|                       | Default is INFO.
+*-----------------------+---------------+
 | GENERIC_OPTIONS       | The common set of options supported by multiple commands.
 | GENERIC_OPTIONS       | The common set of options supported by multiple commands.
 | COMMAND_OPTIONS       | Various commands with their options are described in the following sections. The commands have been grouped into User Commands and Administration Commands.
 | COMMAND_OPTIONS       | Various commands with their options are described in the following sections. The commands have been grouped into User Commands and Administration Commands.
 *-----------------------+---------------+
 *-----------------------+---------------+

+ 2 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/bin/hdfs

@@ -17,7 +17,8 @@
 
 
 function hadoop_usage
 function hadoop_usage
 {
 {
-  echo "Usage: hdfs [--config confdir] [--daemon (start|stop|status)] COMMAND"
+  echo "Usage: hdfs [--config confdir] [--daemon (start|stop|status)]"
+  echo "           [--loglevel loglevel] COMMAND"
   echo "       where COMMAND is one of:"
   echo "       where COMMAND is one of:"
   echo "  balancer             run a cluster balancing utility"
   echo "  balancer             run a cluster balancing utility"
   echo "  cacheadmin           configure the HDFS cache"
   echo "  cacheadmin           configure the HDFS cache"

+ 9 - 1
hadoop-hdfs-project/hadoop-hdfs/src/main/bin/hdfs.cmd

@@ -34,6 +34,10 @@ if "%1" == "--config" (
   shift
   shift
   shift
   shift
 )
 )
+if "%1" == "--loglevel" (
+  shift
+  shift
+)
 
 
 :main
 :main
   if exist %HADOOP_CONF_DIR%\hadoop-env.cmd (
   if exist %HADOOP_CONF_DIR%\hadoop-env.cmd (
@@ -165,6 +169,10 @@ goto :eof
     shift
     shift
     shift
     shift
   )
   )
+  if "%1" == "--loglevel" (
+    shift
+    shift
+  )
   if [%2] == [] goto :eof
   if [%2] == [] goto :eof
   shift
   shift
   set _hdfsarguments=
   set _hdfsarguments=
@@ -183,7 +191,7 @@ goto :eof
   goto :eof
   goto :eof
 
 
 :print_usage
 :print_usage
-  @echo Usage: hdfs [--config confdir] COMMAND
+  @echo Usage: hdfs [--config confdir] [--loglevel loglevel] COMMAND
   @echo        where COMMAND is one of:
   @echo        where COMMAND is one of:
   @echo   dfs                  run a filesystem command on the file systems supported in Hadoop.
   @echo   dfs                  run a filesystem command on the file systems supported in Hadoop.
   @echo   namenode -format     format the DFS filesystem
   @echo   namenode -format     format the DFS filesystem

+ 6 - 2
hadoop-hdfs-project/hadoop-hdfs/src/site/apt/HDFSCommands.apt.vm

@@ -26,8 +26,8 @@ HDFS Commands Guide
    hdfs script without any arguments prints the description for all
    hdfs script without any arguments prints the description for all
    commands.
    commands.
 
 
-   Usage: <<<hdfs [--config confdir] [COMMAND] [GENERIC_OPTIONS]
-          [COMMAND_OPTIONS]>>>
+   Usage: <<<hdfs [--config confdir] [--loglevel loglevel] [COMMAND]
+          [GENERIC_OPTIONS] [COMMAND_OPTIONS]>>>
 
 
    Hadoop has an option parsing framework that employs parsing generic options
    Hadoop has an option parsing framework that employs parsing generic options
    as well as running classes.
    as well as running classes.
@@ -38,6 +38,10 @@ HDFS Commands Guide
 | <<<--config confdir>>>| Overwrites the default Configuration directory.
 | <<<--config confdir>>>| Overwrites the default Configuration directory.
 |                       | Default is <<<${HADOOP_HOME}/conf>>>.
 |                       | Default is <<<${HADOOP_HOME}/conf>>>.
 *-----------------------+---------------+
 *-----------------------+---------------+
+| <<<--loglevel loglevel>>>| Overwrites the log level. Valid log levels are
+|                       | FATAL, ERROR, WARN, INFO, DEBUG, and TRACE.
+|                       | Default is INFO.
+*-----------------------+---------------+
 | GENERIC_OPTIONS       | The common set of options supported by multiple
 | GENERIC_OPTIONS       | The common set of options supported by multiple
 |                       | commands. Full list is
 |                       | commands. Full list is
 |                       | {{{../hadoop-common/CommandsManual.html#Generic_Options}here}}.
 |                       | {{{../hadoop-common/CommandsManual.html#Generic_Options}here}}.

+ 2 - 1
hadoop-mapreduce-project/bin/mapred

@@ -17,7 +17,8 @@
 
 
 function hadoop_usage
 function hadoop_usage
 {
 {
-  echo "Usage: mapred [--config confdir] [--daemon (start|stop|status)] COMMAND"
+  echo "Usage: mapred [--config confdir] [--daemon (start|stop|status)]"
+  echo "           [--loglevel loglevel] COMMAND"
   echo "       where COMMAND is one of:"
   echo "       where COMMAND is one of:"
   
   
   echo "  archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive"
   echo "  archive -archiveName NAME -p <parent path> <src>* <dest> create a hadoop archive"

+ 1 - 1
hadoop-mapreduce-project/bin/mapred-config.sh

@@ -49,7 +49,7 @@ function hadoop_subproject_init
   HADOOP_PID_DIR="${HADOOP_MAPRED_PID_DIR:-$HADOOP_PID_DIR}"
   HADOOP_PID_DIR="${HADOOP_MAPRED_PID_DIR:-$HADOOP_PID_DIR}"
   HADOOP_MAPRED_PID_DIR="${HADOOP_PID_DIR}"
   HADOOP_MAPRED_PID_DIR="${HADOOP_PID_DIR}"
   
   
-  HADOOP_ROOT_LOGGER="${HADOOP_MAPRED_ROOT_LOGGER:-INFO,console}"
+  HADOOP_ROOT_LOGGER="${HADOOP_MAPRED_ROOT_LOGGER:-${HADOOP_LOGLEVEL},console}"
   HADOOP_MAPRED_ROOT_LOGGER="${HADOOP_ROOT_LOGGER}"
   HADOOP_MAPRED_ROOT_LOGGER="${HADOOP_ROOT_LOGGER}"
   
   
   HADOOP_MAPRED_HOME="${HADOOP_MAPRED_HOME:-$HADOOP_PREFIX}"
   HADOOP_MAPRED_HOME="${HADOOP_MAPRED_HOME:-$HADOOP_PREFIX}"

+ 10 - 1
hadoop-mapreduce-project/bin/mapred.cmd

@@ -37,6 +37,11 @@ if "%1" == "--config" (
   shift
   shift
 )
 )
 
 
+if "%1" == "--loglevel" (
+  shift
+  shift
+)
+
 :main
 :main
   if exist %MAPRED_CONF_DIR%\mapred-env.cmd (
   if exist %MAPRED_CONF_DIR%\mapred-env.cmd (
     call %MAPRED_CONF_DIR%\mapred-env.cmd
     call %MAPRED_CONF_DIR%\mapred-env.cmd
@@ -162,6 +167,10 @@ goto :eof
     shift
     shift
     shift
     shift
   )
   )
+  if "%1" == "--loglevel" (
+    shift
+    shift
+  )
   shift
   shift
   set _mapredarguments=
   set _mapredarguments=
   :MakeCmdArgsLoop 
   :MakeCmdArgsLoop 
@@ -184,7 +193,7 @@ goto :eof
   goto print_usage
   goto print_usage
 
 
 :print_usage
 :print_usage
-  @echo Usage: mapred [--config confdir] COMMAND
+  @echo Usage: mapred [--config confdir] [--loglevel loglevel] COMMAND
   @echo        where COMMAND is one of:
   @echo        where COMMAND is one of:
   @echo   job                  manipulate MapReduce jobs
   @echo   job                  manipulate MapReduce jobs
   @echo   queue                get information regarding JobQueues
   @echo   queue                get information regarding JobQueues

+ 1 - 1
hadoop-mapreduce-project/conf/mapred-env.cmd

@@ -16,5 +16,5 @@
 
 
 set HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
 set HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
 
 
-set HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA
+set HADOOP_MAPRED_ROOT_LOGGER=%HADOOP_LOGLEVEL%,RFA
 
 

+ 4 - 1
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/site/apt/MapredCommands.apt.vm

@@ -28,7 +28,7 @@ MapReduce Commands Guide
   MapReduce commands are invoked by the <<<bin/mapred>>> script. Running the
   MapReduce commands are invoked by the <<<bin/mapred>>> script. Running the
   script without any arguments prints the description for all commands.
   script without any arguments prints the description for all commands.
 
 
-   Usage: <<<mapred [--config confdir] COMMAND>>>
+   Usage: <<<mapred [--config confdir] [--loglevel loglevel] COMMAND>>>
 
 
    MapReduce has an option parsing framework that employs parsing generic
    MapReduce has an option parsing framework that employs parsing generic
    options as well as running classes.
    options as well as running classes.
@@ -39,6 +39,9 @@ MapReduce Commands Guide
 | --config confdir | Overwrites the default Configuration directory. Default
 | --config confdir | Overwrites the default Configuration directory. Default
 |                  | is $\{HADOOP_PREFIX\}/conf.
 |                  | is $\{HADOOP_PREFIX\}/conf.
 *-------------------------+---------------------------------------------------+
 *-------------------------+---------------------------------------------------+
+| --loglevel loglevel | Overwrites the log level. Valid log levels are FATAL,
+|                     | ERROR, WARN, INFO, DEBUG, and TRACE. Default is INFO.
+*-------------------------+---------------------------------------------------+
 | COMMAND COMMAND_OPTIONS | Various commands with their options are described
 | COMMAND COMMAND_OPTIONS | Various commands with their options are described
 |                         | in the following sections. The commands have been
 |                         | in the following sections. The commands have been
 |                         | grouped into {{User Commands}} and
 |                         | grouped into {{User Commands}} and

+ 2 - 1
hadoop-yarn-project/hadoop-yarn/bin/yarn

@@ -17,7 +17,8 @@
 
 
 function hadoop_usage
 function hadoop_usage
 {
 {
-  echo "Usage: yarn [--config confdir] [--daemon (start|stop|status)] COMMAND"
+  echo "Usage: yarn [--config confdir] [--daemon (start|stop|status)]"
+  echo "           [--loglevel loglevel] COMMAND"
   echo "where COMMAND is one of:"
   echo "where COMMAND is one of:"
   echo "  application                           prints application(s) report/kill application"
   echo "  application                           prints application(s) report/kill application"
   echo "  applicationattempt                    prints applicationattempt(s) report"
   echo "  applicationattempt                    prints applicationattempt(s) report"

+ 1 - 1
hadoop-yarn-project/hadoop-yarn/bin/yarn-config.sh

@@ -58,7 +58,7 @@ function hadoop_subproject_init
   HADOOP_PID_DIR="${YARN_PID_DIR:-$HADOOP_PID_DIR}"
   HADOOP_PID_DIR="${YARN_PID_DIR:-$HADOOP_PID_DIR}"
   YARN_PID_DIR="${HADOOP_PID_DIR}"
   YARN_PID_DIR="${HADOOP_PID_DIR}"
   
   
-  HADOOP_ROOT_LOGGER="${YARN_ROOT_LOGGER:-INFO,console}"
+  HADOOP_ROOT_LOGGER="${YARN_ROOT_LOGGER:-${HADOOP_LOGLEVEL},console}"
   YARN_ROOT_LOGGER="${HADOOP_ROOT_LOGGER}"
   YARN_ROOT_LOGGER="${HADOOP_ROOT_LOGGER}"
   
   
   HADOOP_YARN_HOME="${HADOOP_YARN_HOME:-$HADOOP_PREFIX}"
   HADOOP_YARN_HOME="${HADOOP_YARN_HOME:-$HADOOP_PREFIX}"

+ 9 - 1
hadoop-yarn-project/hadoop-yarn/bin/yarn.cmd

@@ -64,6 +64,10 @@ if "%1" == "--config" (
   shift
   shift
   shift
   shift
 )
 )
+if "%1" == "--loglevel" (
+  shift
+  shift
+)
 
 
 :main
 :main
   if exist %YARN_CONF_DIR%\yarn-env.cmd (
   if exist %YARN_CONF_DIR%\yarn-env.cmd (
@@ -273,6 +277,10 @@ goto :eof
     shift
     shift
     shift
     shift
   )
   )
+  if "%1" == "--loglevel" (
+    shift
+    shift
+  )
   if [%2] == [] goto :eof
   if [%2] == [] goto :eof
   shift
   shift
   set _yarnarguments=
   set _yarnarguments=
@@ -291,7 +299,7 @@ goto :eof
   goto :eof
   goto :eof
 
 
 :print_usage
 :print_usage
-  @echo Usage: yarn [--config confdir] COMMAND
+  @echo Usage: yarn [--config confdir] [--loglevel loglevel] COMMAND
   @echo        where COMMAND is one of:
   @echo        where COMMAND is one of:
   @echo   resourcemanager      run the ResourceManager
   @echo   resourcemanager      run the ResourceManager
   @echo   nodemanager          run a nodemanager on each slave
   @echo   nodemanager          run a nodemanager on each slave

+ 1 - 1
hadoop-yarn-project/hadoop-yarn/conf/yarn-env.cmd

@@ -42,7 +42,7 @@ if not defined YARN_POLICYFILE (
 )
 )
 
 
 if not defined YARN_ROOT_LOGGER (
 if not defined YARN_ROOT_LOGGER (
-  set YARN_ROOT_LOGGER=INFO,console
+  set YARN_ROOT_LOGGER=%HADOOP_LOGLEVEL%,console
 )
 )
 
 
 set YARN_OPTS=%YARN_OPTS% -Dhadoop.log.dir=%YARN_LOG_DIR%
 set YARN_OPTS=%YARN_OPTS% -Dhadoop.log.dir=%YARN_LOG_DIR%

+ 4 - 1
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/apt/YarnCommands.apt.vm

@@ -26,7 +26,7 @@ Yarn Commands
   without any arguments prints the description for all commands.
   without any arguments prints the description for all commands.
 
 
 ------
 ------
-Usage: yarn [--config confdir] COMMAND
+Usage: yarn [--config confdir] [--loglevel loglevel] COMMAND
 ------
 ------
 
 
   Yarn has an option parsing framework that employs parsing generic options as
   Yarn has an option parsing framework that employs parsing generic options as
@@ -38,6 +38,9 @@ Usage: yarn [--config confdir] COMMAND
 | --config confdir | Overwrites the default Configuration directory. Default
 | --config confdir | Overwrites the default Configuration directory. Default
 |                  | is $\{HADOOP_PREFIX\}/conf.
 |                  | is $\{HADOOP_PREFIX\}/conf.
 *---------------+--------------+
 *---------------+--------------+
+| --loglevel loglevel | Overwrites the log level. Valid log levels are FATAL,
+|                     | ERROR, WARN, INFO, DEBUG, and TRACE. Default is INFO.
+*---------------+--------------+
 | COMMAND COMMAND_OPTIONS | Various commands with their options are described
 | COMMAND COMMAND_OPTIONS | Various commands with their options are described
 |                         | in the following sections. The commands have been
 |                         | in the following sections. The commands have been
 |                         | grouped into {{User Commands}} and
 |                         | grouped into {{User Commands}} and