~~ Licensed to the Apache Software Foundation (ASF) under one or more ~~ contributor license agreements. See the NOTICE file distributed with ~~ this work for additional information regarding copyright ownership. ~~ The ASF licenses this file to You under the Apache License, Version 2.0 ~~ (the "License"); you may not use this file except in compliance with ~~ the License. You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, software ~~ distributed under the License is distributed on an "AS IS" BASIS, ~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~~ See the License for the specific language governing permissions and ~~ limitations under the License. --- Hadoop Commands Guide --- --- ${maven.build.timestamp} %{toc} Hadoop Commands Guide * Overview All of the Hadoop commands and subprojects follow the same basic structure: Usage: <<>> *--------+---------+ || FIELD || Description *-----------------------+---------------+ | shellcommand | The command of the project being invoked. For example, | Hadoop common uses <<>>, HDFS uses <<>>, | and YARN uses <<>>. *---------------+-------------------+ | SHELL_OPTIONS | Options that the shell processes prior to executing Java. *-----------------------+---------------+ | COMMAND | Action to perform. *-----------------------+---------------+ | GENERIC_OPTIONS | The common set of options supported by | multiple commands. *-----------------------+---------------+ | COMMAND_OPTIONS | Various commands with their options are | described in this documention for the | Hadoop common sub-project. HDFS and YARN are | covered in other documents. *-----------------------+---------------+ ** {Shell Options} All of the shell commands will accept a common set of options. For some commands, these options are ignored. For example, passing <<<---hostnames>>> on a command that only executes on a single host will be ignored. *-----------------------+---------------+ || SHELL_OPTION || Description *-----------------------+---------------+ | <<<--buildpaths>>> | Enables developer versions of jars. *-----------------------+---------------+ | <<<--config confdir>>> | Overwrites the default Configuration | directory. Default is <<<${HADOOP_PREFIX}/conf>>>. *-----------------------+----------------+ | <<<--daemon mode>>> | If the command supports daemonization (e.g., | <<>>), execute in the appropriate | mode. Supported modes are <<>> to start the | process in daemon mode, <<>> to stop the | process, and <<>> to determine the active | status of the process. <<>> will return | an {{{http://refspecs.linuxbase.org/LSB_3.0.0/LSB-generic/LSB-generic/iniscrptact.html}LSB-compliant}} result code. | If no option is provided, commands that support | daemonization will run in the foreground. *-----------------------+---------------+ | <<<--debug>>> | Enables shell level configuration debugging information *-----------------------+---------------+ | <<<--help>>> | Shell script usage information. *-----------------------+---------------+ | <<<--hostnames>>> | A space delimited list of hostnames where to execute | a multi-host subcommand. By default, the content of | the <<>> file is used. *-----------------------+----------------+ | <<<--hosts>>> | A file that contains a list of hostnames where to execute | a multi-host subcommand. By default, the content of the | <<>> file is used. *-----------------------+----------------+ | <<<--loglevel loglevel>>> | Overrides the log level. Valid log levels are | | FATAL, ERROR, WARN, INFO, DEBUG, and TRACE. | | Default is INFO. *-----------------------+---------------+ ** {Generic Options} Many subcommands honor a common set of configuration options to alter their behavior: *------------------------------------------------+-----------------------------+ || GENERIC_OPTION || Description *------------------------------------------------+-----------------------------+ |<<<-archives \ >>> | Specify comma separated | archives to be unarchived on | the compute machines. Applies | only to job. *------------------------------------------------+-----------------------------+ |<<<-conf \ >>> | Specify an application | configuration file. *------------------------------------------------+-----------------------------+ |<<<-D \=\ >>> | Use value for given property. *------------------------------------------------+-----------------------------+ |<<<-files \ >>> | Specify comma separated files | to be copied to the map | reduce cluster. Applies only | to job. *------------------------------------------------+-----------------------------+ |<<<-jt \ or \>>> | Specify a ResourceManager. | Applies only to job. *------------------------------------------------+-----------------------------+ |<<<-libjars \ >>>| Specify comma separated jar | files to include in the | classpath. Applies only to | job. *------------------------------------------------+-----------------------------+ Hadoop Common Commands All of these commands are executed from the <<>> shell command. They have been broken up into {{User Commands}} and {{Admininistration Commands}}. * User Commands Commands useful for users of a hadoop cluster. ** <<>> Creates a hadoop archive. More information can be found at {{{../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/HadoopArchives.html} Hadoop Archives Guide}}. ** <<>> Usage: <<>> *-----------------+-----------------------------------------------------------+ || COMMAND_OPTION || Description *-----------------+-----------------------------------------------------------+ | -a | Check all libraries are available. *-----------------+-----------------------------------------------------------+ | -h | print help *-----------------+-----------------------------------------------------------+ This command checks the availability of the Hadoop native code. See {{{NativeLibraries.html}}} for more information. By default, this command only checks the availability of libhadoop. ** <<>> Usage: <<|-h|--help]>>> *-----------------+-----------------------------------------------------------+ || COMMAND_OPTION || Description *-----------------+-----------------------------------------------------------+ | --glob | expand wildcards *-----------------+-----------------------------------------------------------+ | --jar | write classpath as manifest in jar named *-----------------+-----------------------------------------------------------+ | -h, --help | print help *-----------------+-----------------------------------------------------------+ Prints the class path needed to get the Hadoop jar and the required libraries. If called without arguments, then prints the classpath set up by the command scripts, which is likely to contain wildcards in the classpath entries. Additional options print the classpath after wildcard expansion or write the classpath into the manifest of a jar file. The latter is useful in environments where wildcards cannot be used and the expanded classpath exceeds the maximum supported command line length. ** <<>> Usage: << [options]>>> *-------------------+-------------------------------------------------------+ ||COMMAND_OPTION || Description *-------------------+-------------------------------------------------------+ | create [-v ][-provider ]| Prompts the user for | a credential to be stored as the given alias when a value | is not provided via <<<-v>>>. The | within the | core-site.xml file will be used unless a <<<-provider>>> is | indicated. *-------------------+-------------------------------------------------------+ | delete [-i][-provider ] | Deletes the credential with | the provided alias and optionally warns the user when | <<<--interactive>>> is used. | The within the | core-site.xml file will be used unless a <<<-provider>>> is | indicated. *-------------------+-------------------------------------------------------+ | list [-provider ] | Lists all of the credential aliases | The within the | core-site.xml file will be used unless a <<<-provider>>> is | indicated. *-------------------+-------------------------------------------------------+ Command to manage credentials, passwords and secrets within credential providers. The CredentialProvider API in Hadoop allows for the separation of applications and how they store their required passwords/secrets. In order to indicate a particular provider type and location, the user must provide the configuration element in core-site.xml or use the command line option <<<-provider>>> on each of the following commands. This provider path is a comma-separated list of URLs that indicates the type and location of a list of providers that should be consulted. For example, the following path: <<>> indicates that the current user's credentials file should be consulted through the User Provider, that the local file located at <<>> is a Java Keystore Provider and that the file located within HDFS at <<>> is also a store for a Java Keystore Provider. When utilizing the credential command it will often be for provisioning a password or secret to a particular credential store provider. In order to explicitly indicate which provider store to use the <<<-provider>>> option should be used. Otherwise, given a path of multiple providers, the first non-transient provider will be used. This may or may not be the one that you intended. Example: <<<-provider jceks://file/tmp/test.jceks>>> ** <<>> Usage: <<>> *-------------------+-------------------------------------------------------+ ||COMMAND_OPTION || Description *-------------------+-------------------------------------------------------+ | -f | List of objects to change *----+------------+ | -i | Ignore failures *----+------------+ | -log | Directory to log output *-----+---------+ Change the ownership and permissions on many files at once. ** <<>> Copy file or directories recursively. More information can be found at {{{../../hadoop-mapreduce-client/hadoop-mapreduce-client-core/DistCp.html} Hadoop DistCp Guide}}. ** <<>> This command is documented in the {{{./FileSystemShell.html}File System Shell Guide}}. It is a synonym for <<>> when HDFS is in use. ** <<>> Usage: << [mainClass] args...>>> Runs a jar file. Use {{{../../hadoop-yarn/hadoop-yarn-site/YarnCommands.html#jar}<<>>}} to launch YARN applications instead. ** <<>> Usage: <<>> Print the computed java.library.path. ** <<>> Manage keys via the KeyProvider. ** <<>> View and modify Hadoop tracing settings. See the {{{./Tracing.html}Tracing Guide}}. ** <<>> Usage: <<>> Prints the version. ** <<>> Usage: <<>> Runs the class named <<>>. The class must be part of a package. * {Administration Commands} Commands useful for administrators of a hadoop cluster. ** <<>> Usage: << >>> Usage: << >>> *------------------------------+-----------------------------------------------------------+ || COMMAND_OPTION || Description *------------------------------+-----------------------------------------------------------+ | -getlevel | Prints the log level of the daemon running at | . This command internally connects | to http:///logLevel?log= *------------------------------+-----------------------------------------------------------+ | -setlevel | Sets the log level of the daemon | running at . This command internally | connects to http:///logLevel?log= *------------------------------+-----------------------------------------------------------+ Get/Set the log level for each daemon. * Files ** <> This file stores the global settings used by all Hadoop shell commands. ** <> This file allows for advanced users to override some shell functionality. ** <<~/.hadooprc>> This stores the personal environment for an individual user. It is processed after the hadoop-env.sh and hadoop-user-functions.sh files and can contain the same settings.